将无符号八进制数字构成的字符串转换为十进制整数。
例如,输入的字符串为:556,则输出十进制整数366。请填空。
#include
main()
{ char s[6]; int n=0,j=0;
clrscr();
/************found************/
___(1)___;
/************found************/
while(___(2)____)
{ n=n*8+s[j]-'0';
j++; }
printf("%d
",n);
}
例如,输入的字符串为:556,则输出十进制整数366。请填空。
#include
main()
{ char s[6]; int n=0,j=0;
clrscr();
/************found************/
___(1)___;
/************found************/
while(___(2)____)
{ n=n*8+s[j]-'0';
j++; }
printf("%d
",n);
}
举一反三
- 填空实现函数的功能:将无符号八进制数字构成的字符串s转换为十进制整数。例如,如果字符串为:"556",则输出十进制整数366。intfun(chars[]){char______;intn=__________;p=s;while(______!='\0')n=n*8+*p-'0';returnn;}
- 1.编写程序,将一无符号八进制数字字符串转换为十进制整数。例如,输入的字符串为"556",则输出十进制整数366
- 求1到5的阶乘的和。 请改正程序中的错误(**FOUND**下面的一行),使它能得到正确结果。 #include int main() { int n,j; float s=0.0,t=1.0; for(n=1;n<=5;n++) { /**********FOUND**********/ s=1; for(j=1;j<=n;j++) /**********FOUND**********/ t=t*n; /**********FOUND**********/ s+t=s; } /**********FOUND**********/ printf("jiecheng=%d\n",s); return 0; }
- 将字符串中的数字字符删除后输出。 #include "stdio.h" void delnum(char s[]) { int i,j; for(i=0,j=0;【1】;i++) if(s[i]<'0' 【2】 s[i]>'9') { s[j]=s[i]; j++; } 【3】; } main() { char item[50]; gets(item); 【4】; printf("%s ",item); }
- 二维字符数组:将5个字符串从小到大排序后输出。请填空。 #include #include int main(void ) { int i; char color[ ][7]= {"red", "blue", "yellow", "green", "black"}; void fsort(char a[5][7], int n); fsort(color, 5); for(i = 0; i < 5; i++) printf("%s ", color[i]); return 0; } void fsort(char a[5][7], int n) { int i, j; char temp[7]; for(i = 1; i < n; i++) for(j = 0; j < ______; j++) if(strcmp(a[j], a[j+1]) > 0){ strcpy(temp,a[j]); ____________ ; strcpy(a[j+1],temp); } }