C语言上机试题:4
1. 题目:编一C程序,它能读入一个13进制数(用字符串表示,用A、B、C分别表示10、11和12),输出该数的值(按十进制数输出)。如输入为3B时,输出为50。(注:可执行文件名为e4_1.exe)
程序设计:
| 以下是引用片段: main() {char a[40]; int n=0,i=0,j,k,s=0; printf("Please enter a 13 base number:\n"); scanf("%s",a); while (a[i++]!='\0') n++; for (i=n-1;i>=0;i--) {if ((a[i]>='0')&&(a[i]<='9')) k=a[i]-'0'; else if ((a[i]>='A')&&(a[i]<='C')) k=a[i]-55; else printf("error!\n"); for (j=1;j s+=k; } printf("To 10 base number is:\n"); printf("%d\n",s); } |
2. 题目:编一C程序,它能依次读入三组d1、r1、d2、r2、d3、r3共18个非负整数(其中0<=r1 程序设计:
以下是引用片段:
main()
{int l,i,n,d1,r1,d2,r2,d3,r3;
for (i=0;i<=2;i++)
{l=1;
n=1;
printf("Please enter d1>=r1>=0,d2>=r2>=0,d3>=r3>=0:\n");
scanf("%d %d %d %d %d %d",&d1,&r1,&d2,&r2,&d3,&r3);
while ((l!=0)&&(n<=d1*d2*d3))
{if ((n%d1==r1)&&(n%d2==r2)&&(n%d3==r3))
{printf("%d\n",n);l=0;}
else n++;
}
if (l!=0) printf("no!\n");
}
}