C语言复习资料 上机模拟题
更新时间:2024-03-19 10:21:01 阅读量: 综合文库 文档下载
- c语言复合语句是什么推荐度:
- 相关推荐
40001 求1+1/2+1/3+……+1/n
读入1 个正整数 n(n<=50),计算并输出1+1/2+1/3+……+1/n (保留3位小数)。
例:运行2次程序 输入 2 输出 1.500 输入 10 输出 2.929
#include
printf(\}
40002 求n!
读入1 个正整数 n (n<=50),计算并输出 n! 例:运行3次程序 括号内是说明 输入 1 输出 1 输入 10 输出 3628800 输入 5 输出 120
#include
double fact=1; scanf(\
。 for(i=1;i<=n;i++) fact*=i;
printf(\}
40003 求x的n次幂
读入1 个正实数x和1个正整数 n(n<=50),计算并输出x的n次幂(保留2位小数)。
例:运行2次程序 括号内是说明 输入 1.5 2 输出 2.25 输入 2.0 10 输出 1024.00
#include
double x, mypow=1;
scanf(\ for(i=1;i<=n;i++) mypow*=x;
printf(\}
40004 求1-1/2+1/3-1/4+……
读入1 个正整数 n(n<=100),计算并输出1-1/2+1/3-1/4+……的前n项和(保留3位小数)。
例:运行2次程序 括号内是说明 输入 10 输出 0.646 输入 3 输出 0.833
#include
{ int i, n, flag=1;
float sum=0; scanf(\ for(i=1;i<=n;i++){ sum+=flag*1.0/i; flag=-flag; }
printf(\}
40005 求1+1/3+1/5+1/7+……
读入1 个正整数 n(n<=100),计算并输出1+1/3+1/5+1/7+……的前n项和(保留3位小数)。
例:运行2次程序 括号内是说明 输入 10 输出 2.133 输入 3 输出 1.533
#include
{ int i, n, temp=1; float sum=0; scanf(\ for(i=1;i<=n;i++){ sum=sum+1.0/temp; temp=temp+2; }
printf(\}
40006 求1-1/3+1/5-1/7+……
读入1 个正实数eps,计算并输出1-1/3+1/5-1/7+……,直到最后一项的绝对值小于eps(保留6位小数)。 例:运行2次程序 括号内是说明 输入 1E-4 输出
0.785348 输入 0.1
输出
0.834921
#include
{ int temp=1, flag=1;
double eps, item=1.0, sum=0; scanf(\ while(fabs(item)>=eps){ sum+=item;
item=flag*1.0/temp; flag=-flag; temp+=2; }
sum-=1;
printf(\}
40007 摄氏温度和华氏温度转换表
输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内摄氏温度C和华氏温度F的转换表。 F = 32 + C * 9 / 5
输出语句:printf(\例:括号内是说明 输入 5 7 输出
Celsius Fahrenheit 5 41 6 42 7 44
#include
{ int begin, c, end, f;
scanf(\ printf(\ for(c=begin;c<=end;c++){ f=32+c*9/5;
printf(\ } }
40008 求奇数和
读入一批正整数(以零或负数为结束标志),求其中的奇数和。 例:运行2次程序 括号内是说明 输入
1 3 90 7 0 输出 11 输入
8 7 4 3 70 5 6 101 -1 输出 116
#include
{ int x, sum=0; scanf(\ while(x>0){
if(x%2!=0) sum+=x; scanf(\ }
printf(\}
40009 求最大值
输入一个正整数n, 再输入n个整数,输出最大值。 例:运行3次程序 括号内是说明 输入
4 2 123 -100 0 输出 123 输入
4 9 1 -1 8 输出 9 输入 3 1 3 5 输出 5
#include
{ int i , max, n, x; scanf(\ max=0;
for(i=1;i<=n;i++){ scanf(\ if(max printf(\} 40010 求整数的位数以及各位数之和 输入一个整数,输出它的位数以及各位数之和。 例:运行4次程序 括号内是说明 输入 123456 输出 number=6, sum=21 (123456的位数是6, 各位数之和是21) 输入 -100 输出 number=3, sum=1 (-100的位数是3, 各位数之和是1) 输入 -1 输出 number=1, sum=1 (-1的位数是1, 各位数之和是1) 输入 99 输出 number=2, sum=18 (99的位数是2, 各位数之和是18) #include { int number=0, sum=0; long in; scanf(\ if(in<=0) in=-in; while(in!=0){ sum+=in; in=in/10; number++; } printf(\} 40011 求2/1+3/2+5/3+8/5+... 输入一个正整数n,输出 2/1+3/2+5/3+8/5 +...的前n项之和,保留2位小数。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子) 例:运行3次程序 括号内是说明 输入 1 输出 2.00 (第1项是2.00) 输入 5 输出 8.39 (前5项的和是8.39) 输入 20 输出 32.66 (前20项的和是32.66) #include float a=2,b=1,s=0,t; scanf(\ for(i=1;i<=n;i++){ s+=a/b; t=a; a=a+b; b=t; } printf(\} 40012 求a+aa+aaa+aa…a 输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。 例:运行2次程序 括号内是说明 输入 2 3 (a=2, n=3) 输出 246 (2+22+222) 输入 8 5 (a=8, n=5) 输出 98760 (8+88+888+8888+88888) #include void main() { int i,n; long int a,sn=0, tn; scanf(\ while(n!=0){ tn=0; for(i=1;i<=n;i++) tn=tn*10+a; sn+=tn; n--; } printf(\} 40013 判断素数 输入一个正整数m,如果它是素数,输出\,否则,输出\(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 例:运行4次程序 括号内是说明 输入 1 输出 NO (1不是素数) 输入 2 输出 YES (2是素数) 输入 9 输出 NO (9不是素数) 输入 17 输出 YES (17是素数) #include { int flag, i, m, n; scanf(\ if(m==1) flag=0; if(m==2|| m==3) flag=1; n=sqrt(m); for(i=2;i<=n;i++){ if(m%i==0){ flag=0;break;} flag=1; } if(flag) printf(\ else printf(\} 40021 求1 + 1/2! +....+ 1/n! 输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。 s = 1 + 1/2! +....+ 1/n! 例:运行2次程序 括号内是说明 输入: 2 (n=2) 输出: 1.5000 输入: 10 (n=10) 输出: 1.7183 #include \int main( ) { int i,j,n; float s=0,t; scanf(\ for(i=1;i<=n;i++){ t=1; for(j=1;j<=i;j++) t*=j; s+=1.0/t; } printf(\ } 40022 求各位数字的立方和等于它本身的数 输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有满足各位数字的立方和等于它本身的数。 输出语句:printf(\例:运行2次程序 括号内是说明 输入: 100 400 (m=100, n=400) 输出: 153 (1*1*1+5*5*5+3*3*3=153) 370 (3*3*3+7*7*7=370) 371 (3*3*3+7*7*7+1*1*1=371) 输入: 1 100 (m=1, n=100) 输出: 1 #include \int main( ) { int i, digit, m, n, number, sum; scanf(\ for(i=m;i<=n;i++){ digit=i; sum=0; while(digit!=0){ number=digit; sum+=number*number*number; digit=digit/10; } if(i==sum) printf(\ } } 40023 统计素数并求和 输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 例:运行3次程序 括号内是说明 输入: 1 10 (m=1, n=10) 输出: count=4, sum=17 (1到10之间有4个素数:2,3,5,7) 输入: 20 35 (m=20, n=35) 输出: count=3, sum=83 (20到35之间有3个素数:23, 29, 31) 输入: 14 16 (m=14, n=16) 输出: count=0, sum=0 (14到16之间没有素数) #include \#include \int main( ) { int count=0, digit, i, j, k, m, n, sum=0; scanf(\ for(i=m;i<=n;i++){ if(i>1){ digit=i; k=sqrt(digit); for(j=2;j<=k;j++) if(digit%j==0) break; if(j>k){ count++;sum+=digit;} } } printf(\} 40032 输出一个整数的各位数字(选作) 输入一个整数,从高位开始逐位输出它的各位数字。 输出语句:printf(\例:运行3次程序 括号内是说明 输入 123456 输出 1 2 3 4 5 6 输入 -600 输出 6 0 0 输入 8 输出 8 #include { int i,digit=0,count=0; long in, temp, pow; scanf(\ if(in<0) in=-in; temp=in; while(temp!=0){ temp=temp/10; count++; } } 40033 简单计算器(选作) 程序模拟简单运算器的工作:输入一个算式(没有空格),遇等号\说明输入结束,输出结果。 假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。 例:运行2次程序 括号内是说明 输入 15+2/3= 输出 5 输入 1+2*10-10/2= 输出 10 #include { int op1, op2, res=0; char operator; scanf(\ while((operator=getchar())!='='){ scanf(\ switch(operator){ case'+':res=op1+op2;break; case'-':res=op1-op2;break; case'*':res=op1*op2;break; case'/':res=op1/op2;break; } op1=res; } printf(\} 50001 求1 + 1/2! +....+ 1/n! 输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。 s = 1 + 1/2! +....+ 1/n! 要求定义并调用函数fact(n)计算n的阶乘。 例:运行2次程序 括号内是说明 输入: 2 (n=2) 输出: 1.5000 输入: 10 (n=10) 输出: 1.7183 #include \int main( ) { int i,n; double s=0; double fact(int n); scanf(\ for(i=1;i<=n;i++) s+=1.0/fact(i); printf(\} double fact(int n) { int i,sum=1; for(i=1;i<=n;i++) sum*=i; return sum; } 50002 求a+aa+aaa+aa…a 输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。 要求定义并调用函数fn(a,n),它的功能是返回aa…a(n个a)。例如,fn(3,2)的返回值是33。 例:运行2次程序 括号内是说明 输入 2 3 (a=2, n=3) 输出 246 (2+22+222) 输入 8 5 (a=8, n=5) 输出 98760 (8+88+888+8888+88888) #include long fn(long a, int n); scanf(\ sn=0; for(i=1;i<=n;i++) sn+=fn(a,i); printf(\ } long fn(long a,int n) { int i; long temp,sum=0; while(n!=0){ temp=a; for(i=1;i return(sum); } 50003 统计一个整数中数字的个数 读入1 个整数,统计并输出该数中2的个数。 要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。 例:运行3次程序 括号内是说明 输入: -21902 输出: count=2 (-21902中有2个2) 输入: 2 输出: count=1 (有1个2) 输入: 345543 输出: count=0 (345543中没有2) #include \int main( ) { int count; long in; int countdigit(long number, int digit); scanf(\ count=countdigit(in,2); printf(\} countdigit(long number,int digit) { int count=0; if(number<0) number=-number; while(number!=0){ if(number==digit) count++; number=number/10; } return count; } 50004 判断素数 输入一个正整数n,如果它是素数,输出\,否则,输出\(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 要求定义并调用函数prime(m)判断m是否为素数。 例:运行4次程序 括号内是说明 输入 1 输出 NO (1不是素数) 输入 2 输出 YES (2是素数) 输入 9 输出 NO (9不是素数) 输入 17 输出 YES (17是素数) #include int prime(int m); scanf(\ flag=prime(n); if(flag) printf(\ else printf(\} int prime(int n) { int i; if(n>1){ for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1; } else return 0; } 50005 统计素数并求和 输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 要求定义并调用函数prime(m)判断m是否为素数。 例:运行3次程序 括号内是说明 输入: 1 10 (m=1, n=10) 输出: count=4, sum=17 (1到10之间有4个素数:2,3,5,7) 输入: 20 35 (m=20, n=35) 输出: count=3, sum=83 (20到35之间有3个素数:23, 29, 31) 输入: 14 16 (m=14, n=16) 输出: count=0, sum=0 (14到16之间没有素数) #include \#include \int main( ) { int count=0, i, m, n, sum=0; int prime(int m); scanf(\ for(i=m;i<=n;i++) if(prime(i)){ count++;sum+=i;} printf(\} int prime(int m) { int i; if(m>1){ for(i=2;i<=sqrt(m);i++) if(m%i==0) return 0; return 1; } else return 0; } 50006 输出 Fibonacci 序列 输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。 Fibonacci 序列(第1项起):1 1 2 3 5 8 13 21 ...... 要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。 输出语句:printf(\ 例:运行3次程序 括号内是说明 输入: 1 10 (m=1, n=10) 输出: 1 1 2 3 5 8 (1到10之间的Fibonacci数) 输入: 20 100 (m=20, n=100) 输出: 21 34 55 89 (20到100之间的Fibonacci数) 输入: 1000 6000 (m=1000, n=6000) 输出: 1597 2584 4181 (1000到6000之间的Fibonacci数) #include \#include \int main( ) { int i, m, n; long f; long fib(int n); scanf(\ for(i=1;fib(i)<=n;i++){ f=fib(i); if(f>=m&&f<=n) printf(\ } printf(\} long fib(int n) { int a=1,b=1,i,t; if(n==1||n==2) return 1; for(i=1;i return t; } 50007 求完数 输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有完数(完数就是因子和与它本身相等的数)。 要求定义并调用函数factorsum(number),它的功能是返回number的因子和。例如,digitsum(12)的返回值是16(1+2+3+4+6)。 输出语句:printf(\例:运行2次程序 括号内是说明 输入: 20 500 (m=100, n=400) 输出: 28 496 输入: 1 100 (m=1, n=100) 输出: 1 6 28 #include \int main( ) { int i, m, n; int factorsum(int number); scanf(\ for(i=m;i<=n;i++) if(i==factorsum(i)) printf(\ printf(\} int factorsum(int number) { int i,sum=0; if(number==1) return 1; for(i=1;i<=number/2;i++) if(number%i==0) sum+=i; return sum; } 50008 求各位数字的立方和等于它本身的数 输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有满足各位数字的立方和等于它本身的数。 要求定义并调用函数is(number)判断number的各位数字之立方和是否等于它本身。 输出语句:printf(\例:运行2次程序 括号内是说明 输入: 100 400 (m=100, n=400) 输出: 153 370 371 (1*1*1+5*5*5+3*3*3=153; 3*3*3+7*7*7=370; 3*3*3+7*7*7+1*1*1=371) 输入: 1 100 (m=1, n=100) 输出: 1 #include \int main( ) { int i, m, n; int is(int number); scanf(\ for(i=m;i<=n;i++) if(is(i)) printf(\ printf(\} int is(int number) { int t,sum=0,temp; t=number; while(t!=0){ temp=t; sum+=temp*temp*temp; t=t/10; } if(sum==number) return 1; else return 0; } 50009 将一个整数逆序输出 输入一个整数,将它逆序输出。 要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。 例:运行4次程序 括号内是说明 输入 123456 输出 654321 输入 -100 输出 -1 输入 -2 输出 -2 输入 99 输出 99 #include { long in, res; long reverse(long number); scanf(\ res=reverse(in); printf(\ } long reverse(long number) { int i; long sum=0; while(number!=0){ sum=sum*10+number; number=number/10; } return sum; } 50010 十进制转换二进制 输入1 个正整数n,将其转换为二进制后输出。 要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。例如,调用dectobin(10),输出1010。 输出语句:printf(\ 例:运行3次程序 括号内是说明 输入: 15 输出: 1111 输入: 100 输出: 1100100 输入: 0 输出: 0 #include \int main( ) { int i,n; void dectobin(int n); scanf(\ dectobin(n); printf(\} void dectobin(int n) { int i,j,s[80]; if(n==0) printf(\ for(i=0;n!=0;i++){ s[i]=n%2; n=n/2; } for(j=i-1;j>=0;j--) printf(\} 60001 求平均值 输入一个正整数n (1 aver=-1.00 输入 5 12 2 5 4 0 输出 aver=4.60 #include { int i, n, sum=0; float aver; int a[10]; scanf(\ for(i=0; i aver=sum/(float)n; printf(\ } 60002 求最大值及其下标 输入一个正整数n (1 例:运行3次程序 括号内是说明 输入 3 1 6 4 输出 max=6,index=1 (最大值6的下标是1) 输入 3 10 8 1 输出 max=10,index=0 (最大值10的下标是0) 输入 5 1 2 5 4 0 输出 max=5,index=2 (最大值5的下标是2) #include { int i, index=0, n; int a[10]; scanf(\ for(i=0; i if(a[index] printf(\} 60003 逆序输出 输入一个正整数n (1 4 10 8 1 2 输出 2 1 8 10 输入 5 1 2 5 4 0 输出 0 4 5 2 1 #include void main( ) { int i, n, temp; int a[10]; scanf(\ for(i=0; i for(i=0; i printf(\ printf(\} 60004 交换最小值和最大值 输入一个正整数n (1 5 4 3 5 1 2 输出 1 3 2 4 5 输入 4 1 5 6 7 输出 1 5 6 7 输入 5 5 4 3 2 1 输出 1 4 3 2 5 #include { int i, index=0, n, t; int a[10]; scanf(\ for(i=0; i if(a[index]>a[i]) index=i; t=a[0]; a[0]=a[index]; a[index]=t; index=0; for(i=1;i if(a[index] a[n-1]=a[index]; a[index]=t; for(i=0; i printf(\ printf(\} 60005 排序 输入一个正整数n (1 4 5 1 7 6 输出 7 6 5 1 输入 3 1 2 3 输出 3 2 1 输入 5 5 4 3 2 1 输出 5 4 3 2 1 #include { int i, index, k, n, temp; int a[10]; scanf(\ for(i=0; i for(k=i+1;k if(a[index] for(i=0; i printf(\ printf(\} 600011 矩阵运算 读入 1 个正整数 n(1≤n≤6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线) 例:括号内是说明 输入: 4 (n=4) 2 3 4 1 5 6 1 1 7 1 8 1 1 1 1 1 输出: sum=35 (2+3+4+5+6+7+8=35) #include \int main( ) { int a[6][6],i,j,n,sum=0; scanf(\ for (i=0;i scanf(\ for(i=0;i printf(\} 60012 加法口诀表 输入 1 个正整数 n(1≤n≤10), 输出一张 20 以内的加法口诀表. 加数与被加数都不大于 n, 分列第一行和第一列.(将加数、被加数、和放入一个二维数组中, 再输出该数组) 例:括号内是说明 输入: 3 (n=3) 输出: + 1 2 3 1 2 2 3 4 3 4 5 6 #include \int main( ) { int i,j,n,a[10][10]; scanf(\ for(i=0;i<=n;i++) for(j=0;j<=n;j++) a[i][j]=i+j; for( i=0; i<=n; i++ ){ for( j=0; j<=n; j++ ) if(i==0&&j==0) printf( \ else if(i==0||j<=i) printf( \ printf(\ } } } 60013 判断上三角矩阵 输入1 个正整数 n (1≤n≤6)和n 阶方阵a中的元素,如果a是上三角矩阵, 输出\否则, 输出\。(上三角矩阵,即主对角线以下的元素都为0, 主对角线为从矩阵的左上角至右下角的连线) 例:运行2次程序 括号内是说明 输入: 3 1 2 3 0 4 5 0 0 6 (n=3) 输出: YES 输入: 2 1 0 -8 2 (n=2) 输出: NO #include \#include \int main( ) { int a[6][6],flag=1,i,j,n; scanf(\ for (i=0;i for (j=0;j scanf(\ for(i=1;i 60014 求矩阵每行元素之和 输入2 个正整数 m 和 n (1≤m, n≤6),然后输入该m 行 n 列矩阵a中的元素,分别求出各行元素之和, 并存入一维数组row中, 再输出row. 例:括号内是说明 输入: 3 2 (m=3, n=2) 6 3 1 -8 3 12 输出: sum of row 0 is 9 sum of row 1 is -7 sum of row 2 is 15 #include \#include \int main( ) { int flag,i,j,m,n,sum; int a[6][6], row[6]; scanf(\ for(i=0;i scanf(\ for(i=0;i for(j=0;j for(i=0;i printf(\} 60019 找鞍点(选作) 输入 1 个正整数 n(1≤n≤6)和n 阶方阵a中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标, 否则,输出\(设a最多有1个鞍点)。 例:运行2次程序 括号内是说明 输入: 4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 (n=4) 输出: a[2][1]=6 输入: 2 1 7 4 1 (n=2) 输出: NO #include \int main( ) { int flag,i,j,k,row,col,n,a[6][6]; scanf(\ for(i=0; i scanf(\ flag=0; for(i=0;i for(j=0;j if(a[i][col] if(a[k][col] if(flag) printf(\ else printf(\} 60021 求字符串长度 输入一个字符串(字符串的长度不超过80),统计并输出该字符串的有效长度。 例:运行2次程序,括号内是说明 输入: hello (输入字符串\输出: 5 (\的有效长度是5) 输入: abc+12? (输入字符串\ 输出: 7 (\的有效长度是7) #include \#define MAXLEN 80 int main( ) { int len,i=0; char str[MAXLEN]; scanf(\ while(str[i]!='') i++; len=i; printf(\} 60022 统计大写辅音字母 输入一个字符串(字符串的长度不超过80),统计并输出该字符串中大写辅音字母的个数(大写辅音字母:除'A','E','I','O','U'以外的大写字母)。 例:运行3次程序,括号内是说明 输入: HELLO (输入字符串\输出: 3 (\中有3个大写辅音字母) 输入: IT12 (输入字符串\输出: 1 (\中有1个大写辅音字母) 输入: uieiaba (输入字符串\输出: 0 (\中没有大写辅音字母) #include \#define MAXLEN 80 int main( ) { int count=0,i; char str[MAXLEN]; scanf(\ for(i=0;str[i]!='';i++) if(str[i]>'A'&&str[i]<='Z'&&str[i]!='E'&&str[i]!='I'&&str[i]!='O'&&str[i]!='U') count++; printf(\ } 60024 字符串替换 输入一个字符串(字符串的长度不超过80),将该字符串中的大写字母用下面列出的对应大写字母替换, 其余字符不变, 输出替换后的字符串。 原字母 对应字母 A ──→ Z B ──→ Y C ──→ X D ──→ W …… X ──→ C Y ──→ B Z ──→ A 例:运行3次程序,括号内是说明 输入: A-flag-of-USA (输入一个字符串\输出: Z-flag-of-FHZ 输入: IT12 (输入一个字符串\输出: RG12 输入: oueiaba (输入一个字符串\输出: oueiaba #include \#define MAXLEN 80 int main( ) { int i; char str[MAXLEN]; scanf(\ for(i=0;str[i]!='';i++) if(str[i]>='A'&&str[i]<='Z') str[i]=(char)('A'-str[i]+'Z'); printf(\ } 60025 十六进制转换十进制 输入一个字符串(字符串的长度不超过80),对该字符串做如下处理:滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。 例:运行3次程序,括号内是说明 输入: 10 (输入字符串\输出: 16 输入: Pf4+1 (输入字符串\输出: 3905 输入: -+A (输入字符串\输出: 10 #include \#define MAXLEN 80 int main( ) { int i=0,k=0; long number=0; char str[MAXLEN], num[MAXLEN]; scanf(\ while(str[i]!=''){ if((str[i]>='0'&&str[i]<='9')||(str[i]>='a'&&str[i]<='f')||(str[i]>='A'&&str[i]<='F')){ num[k]=str[i]; k++; } i++; } num[k]=''; for(i=0;num[i]!='';i++){ if(num[i]>='0'&&num[i]<='9') number=number*16+(num[i]-'0'); if(num[i]>='a'&&num[i]<='z') number=number*16+(num[i]-'a'+10); if(num[i]>='A'&&num[i]<='Z') number=number*16+(num[i]-'A'+10); } printf(\} 例:运行3次程序,括号内是说明 输入: 10 (输入字符串\输出: 16 输入: Pf4+1 (输入字符串\输出: 3905 输入: -+A (输入字符串\输出: 10 #include \#define MAXLEN 80 int main( ) { int i=0,k=0; long number=0; char str[MAXLEN], num[MAXLEN]; scanf(\ while(str[i]!=''){ if((str[i]>='0'&&str[i]<='9')||(str[i]>='a'&&str[i]<='f')||(str[i]>='A'&&str[i]<='F')){ num[k]=str[i]; k++; } i++; } num[k]=''; for(i=0;num[i]!='';i++){ if(num[i]>='0'&&num[i]<='9') number=number*16+(num[i]-'0'); if(num[i]>='a'&&num[i]<='z') number=number*16+(num[i]-'a'+10); if(num[i]>='A'&&num[i]<='Z') number=number*16+(num[i]-'A'+10); } printf(\}
正在阅读:
C语言复习资料 上机模拟题03-19
宁德市食用菌栽培企业名录2018版567家 - 图文06-27
一等奖英语说课稿11-12
塔式起重机失稳倾覆原因分析06-05
岁月恋歌作文800字06-16
金融选择题12-16
职位评估-量表06-20
中国共产党四代领导集体对中国特色反腐倡廉道路的探索简析11-01
七(4)小组评分细则(班规)02-26
基础综合英语课后习题翻译邱东林版09-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习资料
- 模拟题
- 上机
- 语言
- 10KV高压供配电系统设计论文
- 机械设备销售合同
- 约翰福音的七大神迹
- 2019年中国布洛芬行业分析与发展策略研究报告(定制版)目录
- 2012年宁夏回族自治区中考物理试题
- 2008年7月自学考试中级财务会计试题
- 2019届高考语文全面复习精讲教案正确使用词语(包括熟语)
- 2019年社区的年度双拥工作总结范文
- 2018年中国合同物流市场分析报告-行业深度分析与发展趋势预测(
- 2019-2020最新八年级物理全册 4、2 平面镜成像课时作业沪科版wor
- 植物生理学重点
- 感官评价
- 企业有机加工操作规程模板
- 清原满族自治土地整治规划 - 图文
- 足球基本技术第三次课教案 - 图文
- 2015-2016年广东省深圳市龙华区东王实验学校九年级上学期
- 论文材料10-论文模板
- 一位野路子项目经理的PMP考试5A级成功经验
- 学生社团公益创业实践与职业素养提升的生态体系构建 -
- 中国传媒大学南广学院文化管理学院