C语言基础题目~高手帮下忙~

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:41:08
以下两题我实在做不出~做出也错了~帮忙修正下~
1)写一个判素数的函数,在主函数中输入一个整数,输出是否素数的信息。
#include "stdio.h"
#include "conio.h"

main()
{
int s(int x);
int a,c;
scanf("%d",&a) ;
c=s(a);
}
int su(int x)
{
int i
for(i=x;i>=1;i--)
if(x/i==0) prinft("No");
else prinft("Yes");
}
2)写一个“起泡法”排序函数,在主函数中输入十个字符,调用这个函数排序,按由小到大顺序输出。
是取余运算,不是除法.改成for(i=x-1;i>1;i--)if(x%i==0) prinft("no");else prinft("Yes");

我已经按照修改了~还是不对~

你的错误实在是太多了。 你详细对比一下,哪里和你的不同!!!!

#include "stdio.h"
#include "conio.h"

main()
{
void s(int x); /*函数是判断是否是素数,不需要返回值,int改成void*/
int a; /*c变量是多余的,不需要*/
scanf("%d",&a) ;
s(a); /*你的函数根本没有return语句,没有返回值,这里也不需要返回值,直接调用函数*/

}
void s(int x) /*定义的函数名出错了,把su改成s,这里的int也要改成void*/
{
int i; /*i的后面忘了加分号了*/
for(i=x-1;i>=2;i--) /*i的底线值要改成2,上限是x-1*/
if(x%i==0)
{
printf("No"); /* x/i改成x%i ,prinft改成printf, */
break; /*不是素数,要结束循环*/
}
else if (i==2) /*这里是容易出错的地方,一定要判断是不是循环完了,如果按你那样,你只做了一次循环判断*/
printf("Yes");
}

//-------------------------------------------------------------

下面是完整的正确代码:tc 2.01 编译通过

#include "stdio.h"
#include "conio.h"

main()
{
void s(int x);
int a;