小白发问,这个C语言任务该怎么做?求大佬帮助!!

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-11
小白发问,这个C语言任务该如何编写?求大佬指教呀


#include
int fac(int n)
{if(n==0)return 1;
return n*fac(n-1);
}
main()
{ int n,i,j;
scanf("%d",&n);
for(i=0; i<=n; i++)
{ for(j=0; j<n-i; j++)
printf(" ");
for(j=0; j<=i; j++)
printf("%4d",fac(i)/(fac(j)*fac(i-j)));
printf("
");
}
}

出错行号:第12行 原因:未定义temp变量
出错行号:第十行 原因:冒泡排序法应用错误
正确代码
#include
int main()
{
int a[10]={21,43,55,12,65,87,25,93,30,62};
int i,k,*pa;
int temp;
for (k=0;k<10;k++)
printf("%3d",a[k]);
printf("

");
for (k=0;k<9;k++)
{
pa=a;
for (i=1;i<10-k-1;i++)
{
if ( *pa>*(pa+1) )
{
temp=*pa;
*pa=*(pa+1);
*(pa+1)=temp;
}
pa++;
}
}
for (k=0;k<10;k++)
printf("%3d",*pa++);
printf("

");
return 0;
}

出错行号:第七行  原因:应添加j++;

出错行号:第8行 原因:字符应用单引号括起

正确代码:

#include <stdio.h>

void fun(char *s)

{

   int i, j;

  

   for (i=0, j=0; s[i]!='\0'; i++)

     

   if (s[i]>='0' && s[i]<='9')

   { 

   s[j] = s[i];

           j++;   //第一个错误

   }

   

   s[j]='\0';//第二个错误

}

int main()

{

   char item[80];

   printf("
Enter a string :");

   gets(item);

   printf("

The string is : %s
", item);

   fun(item);    

   printf("

The string of changing is : %s
", item);

   return 0;

}



#include <stdio.h>

void fun(char *s)

{ int i, j;

  for (i=0, j=0; s[i]!='\0'; i++)

    if (s[i]>='0' && s[i]<='9')

      s[j++] = s[i]; //有更改,记录一个字符后应后移到下一位置

  s[j] = '\0'; //有更改,"\0"是字符串,'\0'才是串尾符

}


int main()

{ char item[80];

  printf("
Enter a string :");

  gets(item);

  printf("

The string is : %s
", item);

  fun(item);

  printf("

The string of changing is : %s
", item);

  return 0;

}



#include <stdio.h>
void fun(char *s)
{
int i, j;
for (i=0, j=0; s[i]!='\0'; i++)
if (s[i]>='0' && s[i]<='9')
s[j++] = s[i]; //s[j] = s[i]; 每次赋值后,j应该自加
s[j] = '\0'; //s[j] = "\0"; 字符应该使用单引号
}
int main()
{
char item[80];
printf("\nEnter a string :");
gets(item);
printf("\n\nThe string is : %s\n", item);
fun(item);
printf("\n\nThe string of changing is : %s\n", item);
return 0;
}

  • 小白发问,这个C语言任务该怎么做?求大佬帮助!!
    答:出错行号:第七行 原因:应添加j++;出错行号:第8行 原因:字符应用单引号括起 正确代码:include <stdio.h> void fun(char *s){ int i, j;for (i=0, j=0; s[i]!='\0'; i++)if (s[i]>='0' && s[i]<='9'){ s[j] = s[i];j++; //第一个错误 } s[j]='...
  • 小白发问,这个C语言任务该如何编写?求大佬指教
    答:long fac(int i){ if(0==i||1==i)return 1;return i*fac(i-1);} int main(){ const int sp=4;int n=5,i,j;scanf("%d",&n);for(i=0;i<n;i++){ printf("%*ld",sp*(n-i-1)+1,1);for(j=1;j<=i;j++)printf("%*ld",sp*2,fac(i)/fac(j)/fac(i-j));...
  • 小白发问,这个C语言任务该如何编写?求大佬指教呀
    答:int fac(int n){if(n==0)return 1;return n*fac(n-1);} main(){ int n,i,j;scanf("%d",&n);for(i=0; i<=n; i++){ for(j=0; j<n-i; j++)printf(" ");for(j=0; j<=i; j++)printf("%4d",fac(i)/(fac(j)*fac(i-j)));printf("\n");} } ...
  • 小白发问,这个C语言任务该如何编写?求大佬帮助啊!!
    答:int prime(int a) //判断是否为素数,是素数返回0 { int b = (int)sqrt(a);int fact = 0;for(int i = 2; i<=b; i++){ if(a%i == 0)fact = 1;} return fact;} void main(){ int a,b=0;for(int i=2; i<=100;i++) //判断从2到100的每个数是否为素数 { ...
  • 小白发问,这个C语言的程序该怎么写?
    答:include<math.h> int main(){ printf("请输入三角形的三条边的边长(用空格隔开):");double a, b, c;scanf_s("%lf %lf %lf", &a, &b, &c);printf("%lf %lf %lf", a, b, c);if ((a <= 0) || (b <= 0) || (c <= 0)){ printf("输入错误!(请检查输入值...
  • 小白发问,这个c语言程序怎么写,求助大佬?
    答:1){ if(guess<0||guess>10){ printf("好遗憾,欢迎下次再来!\n");break;} if(guess<num)printf("您输入的数字太小,请重试:\n");else if(guess>num)printf("您输入的数字太大,请重试:\n");else { printf("找到了,这个数是%d\n",num);break;} scanf("%d",&guess);} } ...
  • 小白发问,这个C语言题该怎么写?求大佬帮助
    答:include <stdio.h> int mystrcmp(char *s1,char *s2){ for(; *s1&&*s1==*s2; )s1++,s2++;return *s1-*s2;} int main(){ char s1[200],s2[200];int ans;gets(s1);gets(s2);ans=mystrcmp(s1,s2);if(!ans)printf("equal\n");else printf("%d\n",ans);return 0;} ...
  • 小白发问,这个C语言题怎么编?求助大佬!
    答:int main(void) { int N, flag = 1;scanf("%d", &N);int **a = (int **)malloc(sizeof(int *) * N);for (int i = 0; i < N; i++)a[i] = (int *)malloc(N * sizeof(int));for (int i = 0; i < N; i++)for (int j = 0; j < N; j++) { scanf("...
  • 小白发问,这个c语言程序怎么写,谁能写出来看看?
    答:int main(){ char s[10] ={0},ch =0;int n, cnt=0, i =0,flag = 0;do { printf("输入一个10~1000的正整数(不包含10和1000):");scanf("%d", &n);}while((n <= 10)||(n >= 1000));while(n > 0){ s[cnt++] = n%10;n /= 10;} switch(cnt){ case 2:{ if...
  • 本人小白,学习了C语言基本语法后,还是不知道完整的程序该怎么写?
    答:一个基础的C语言程序包含:1、预处理命令(比如开头#include语句导入头文件,还有定义常量等)。2、全局变量定义。2、函数声明语句(就是有函数返回值类型,有参数类型,有函数名,但没有大括号的函数体内容)说明:如其他函数定义在main函数之下,这里需写声明,如定义在main函数之上,无需写声明。3、...