c语言上机题目精选(附答案)

c语言程序设计题目及答案

40021程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。
s = 1 + 1/2! +....+ 1/n!
例:括号内是说明
输入:
2 (repeat=2)
2 (n=2)
10 (n=10)
输出:
1.5000
1.7183


#include "stdio.h"
int main( )
{
int ri,repeat;
int i,n;
float s,t;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
/*---------*/
printf("%0.4f\n",s);
}
}

40022程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入2 个正整数m和n(1<=m,n<=1000),输出m 和n之间所有满足各位数字的立方和等于它本身的数。
输出语句:printf("%d\n", i);
例:括号内是说明
输入:
2 (repeat=2)
100 400 (m=100, n=400)
1 100 (m=1, n=100)
输出:
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


#include "stdio.h"
int main( )
{
int ri,repeat;
int i, digit, m, n, number, sum;

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
/*---------*/
}
}

40023程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和。
例:括号内是说明
输入:
3 (repeat=2)
1 10 (m=1, n=10)
20 35 (m=20, n=35)
14 16 (m=14, n=16)
输出:
count=4, sum=17 (1到10之间有4个素数:2,3,5,7)
count=3, sum=83 (20到35之间有3个素数:23, 29, 31)
count=0, sum=0 (14到16之间没有素数)


#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int count, digit, i, j, k, m, n, sum;

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
/*---------*/
printf("count=%d, sum=%d\n", count, sum);
}
}

40031程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。
例:括号内是说明
输入
2 (repeat=2)
Reold building room 123
Programming is fun
输出
4
3


#include
int main( )
{
int ri, repeat;
int count, word;
char c;

scanf("%d", &repeat);
getchar();
for(ri=1; ri<=repeat; ri++){
c = getchar();
/*---------*/
printf("%d\n", count);
}
}

40032程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个整数,从高位开始逐位输出它的各位数字。
输出语句:printf("%-2d", digit);
例:括号内是说明
输入
3 (repeat=3)
123456
-600
8
输出
1 2 3 4 5 6
6 0 0
8


#include
int main( )
{
int

ri, repeat;
int digit;
long in, temp, pow;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%ld", &in);
/*---------*/
printf("\n");
}
}

40033程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0程序模拟简单运算器的工作:输入一个算式(没有空格),遇等号"="说明输入结束,输出结果。
假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。
例:括号内是说明
输入
2 (repeat=2)
15+2/3=
1+2*10-10/2=
输出
5
10


#include
int main( )
{
int ri, repeat;
int op1, op2, res;
char operator;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &op1);
operator = getchar();
/*---------*/
printf("%d\n", res);
}
}

50001程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。
s = 1 + 1/2! +....+ 1/n!
要求定义并调用函数fact(n)计算n的阶乘。
例:括号内是说明
输入:
2 (repeat=2)
2 (n=2)
10 (n=10)
输出:
1.5000
1.7183


#include "stdio.h"
int main( )
{
int ri,repeat;
int i,n;
double s;
double fact(int n);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
/*---------*/
printf("%0.4f\n",s);
}
}
/*---------*/


50002程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。
要求定义并调用函数fn(a,n),它的功能是返回aa…a(n个a)。例如,fn(3,2)的返回值是33。
例:括号内是说明
输入
2 (repeat=2)
2 3 (a=2, n=3)
8 5 (a=8, n=5)
输出
246 (2+22+222)
98760 (8+88+888+8888+88888)


#include
void main()
{
int ri, repeat;
int i, n;
long a, sn;
long fn(long a, int n);

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%ld%d", &a, &n);
/*---------*/
printf("%ld\n",sn);
}
}
/*---------*/


50003程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0读入1 个整数,统计并输出该数中2的个数。
要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。
例:括号内是说明
输入:
3 (repeat=3)
-21902
2
345543
输出:
count=2 (-21902中有2个2)
count=1 (有1个2)
count=0 (345543中没有2)


#include "stdio.h"
int main( )
{
int ri,repeat;
int count;
long in;
int countdigit(long number, int digit);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%ld",&in);
/*---------*/
printf("count=%d\n",count);
}
}
/*---------*/


50004

程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个正整数n,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
例:括号内是说明
输入
4 (repeat=4)
1 2 9 17
输出
NO (1不是素数)
YES (2是素数)
NO (9不是素数)
YES (17是素数)


#include
#include
int main( )
{
int ri, repeat;
int flag,n;
int prime(int m);

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
/*---------*/
if(flag) printf("YES\n");
else printf("NO\n");
}
}
/*---------*/

50005程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
例:括号内是说明
输入:
3 (repeat=3)
1 10 (m=1, n=10)
20 35 (m=20, n=35)
14 16 (m=14, n=16)
输出:
count=4, sum=17 (1到10之间有4个素数:2,3,5,7)
count=3, sum=83 (20到35之间有3个素数:23, 29, 31)
count=0, sum=0 (14到16之间没有素数)


#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int count, i, n, sum;
int prime(int m);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
/*---------*/
printf("count=%d, sum=%d\n", count, sum);
}
}

/*---------*/


50006程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入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("%d ", f);

例:括号内是说明
输入:
3 (repeat=3)
1 10 (m=1, n=10)
20 100 (m=20, n=100)
1000 6000 (m=1000, n=6000)
输出:
1 1 2 3 5 8 (1到10之间的Fibonacci数)
21 34 55 89 (20到100之间的Fibonacci数)
1597 2584 4181 (1000到6000之间的Fibonacci数)


#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int i, m, n;
long f;
long fib(int n);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
/*---------*/
printf("\n");
}
}

/*---------*/



50007程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有完数(完数就是因子和与它本身相等的数)。
要求定义并调用函数factors

um(number),它的功能是返回number的因子和。例如,digitsum(12)的返回值是16(1+2+3+4+6)。
输出语句:printf("%d ", i);
例:括号内是说明
输入:
2 (repeat=2)
20 500 (m=100, n=400)
1 100 (m=1, n=100)
输出:
28 496
1 6 28


#include "stdio.h"
int main( )
{
int ri,repeat;
int i, m, n;
long factorsum(int number);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
/*---------*/
printf("\n");
}
}
/*---------*/

50008程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有满足各位数字的立方和等于它本身的数。
要求定义并调用函数is(number)判断number的各位数字之立方和是否等于它本身。
输出语句:printf("%d ", i);
例:括号内是说明
输入:
2 (repeat=2)
100 400 (m=100, n=400)
1 100 (m=1, n=100)
输出:
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


#include "stdio.h"
int main( )
{
int ri,repeat;
int i, m, n;
int is(int number);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
/*---------*/
printf("\n");
}
}
/*---------*/


50009程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个整数,将它逆序输出。
要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。
例:括号内是说明
输入
4 (repeat=4)
123456 -100 -2 99
输出
654321
-1
-1
99


#include
int main( )
{
int ri, repeat;
long in, res;
long reverse(long number);

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%ld", &in);
/*---------*/
printf("%ld\n", res);
}
}
/*---------*/

50010程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0输入1 个正整数n,将其转换为二进制后输出。
要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。例如,调用dectobin(10),输出1010。
输出语句:printf("%d");
例:括号内是说明
输入:
2 (repeat=2)
15 (n=2)
100 (n=10)
输出:
1111
1100100


#include "stdio.h"
int main( )
{
int ri,repeat;
int i,n;
void dectobin(int n);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
/*---------*/
printf("\n");
}
}
/*---------*/

60001程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个正整数n (1例:括号内是说明
输入
2 (repeat=2)
3 1 2 -6
5 12 2 5 4 0
输出
aver=-1.00
aver=4.60


#include
int

main( )
{
int ri, repeat;
int i, n, sum;
float aver;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; iscanf("%d", &a[i]);
/*---------*/
printf("aver=%.2f\n", aver);
}
}

60002程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个正整数n (1例:括号内是说明
输入
3 (repeat=3)
3 1 6 4
3 10 8 1
5 1 2 5 4 0
输出
max=6,index=1 (最大值6的下标是1)
max=10,index=0 (最大值10的下标是0)
max=5,index=2 (最大值5的下标是2)


#include
int main( )
{
int ri, repeat;
int i, index, n;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; iscanf("%d", &a[i]);
/*---------*/
printf("max=%d,index=%d\n", a[index],index);
}
}

60003程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个正整数n (1例:括号内是说明
输入
2 (repeat=2)
4 10 8 1 2
5 1 2 5 4 0
输出
2 1 8 10
0 4 5 2 1


#include
int main( )
{
int ri, repeat;
int i, n, temp;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; iscanf("%d", &a[i]);
/*---------*/
for(i=0; iprintf("%d ", a[i]);
printf("\n");
}
}

60004程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个正整数n (1例:括号内是说明
输入
3 (repeat=3)
5 4 3 5 1 2
4 1 5 6 7
5 5 4 3 2 1
输出
1 3 2 4 5
1 5 6 7
1 4 3 2 5


#include
int main( )
{
int ri, repeat;
int i, index, n, t;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; iscanf("%d", &a[i]);
/*---------*/
for(i=0; iprintf("%d ", a[i]);
printf("\n");
}
}

60005程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入一个正整数n (1例:括号内是说明
输入
3 (repeat=3)
4 5 1 7 6
3 1 2 3
5 5 4 3 2 1
输出
7 6 5 1
3 2 1
5 4 3 2 1


#include
int main( )
{
int ri, repeat;
int i, index, k, n, temp;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; iscanf("%d", &a[i]);
/*---------*/
for(i=0; iprintf("%d ", a[i]);
printf("\n");
}
}

60011程序填空,不要

改变与输入输出有关的语句。
输入一个正整数repeat (0读入 1 个正整数 n(1≤n≤6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线)
例:括号内是说明
输入:
1 (repeat=1)
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 "stdio.h"
int main( )
{ int ri,repeat;
int a[6][6],i,j,n,sum;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for (i=0;ifor(j=0;jscanf("%d",&a[i][j]);
/*---------*/
printf("sum=%d\n",sum);
}
}

60012程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入 1 个正整数 n(1≤n≤10), 输出一张 20 以内的加法口诀表. 加数与被加数都不大于 n, 分列第一行和第一列.(将加数、被加数、和放入一个二维数组中, 再输出该数组)
例:括号内是说明
输入:
1 (repeat=1)
3 (n=3)
输出:
+ 1 2 3
1 2
2 3 4
3 4 5 6


#include "stdio.h"
int main( )
{ int ri,repeat;
int i,j,n,a[10][10];
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
/*---------*/
for( i=0; i<=n; i++ ){
for( j=0; j<=n; j++ )
if(i==0&&j==0) printf( "%-4c", '+');
else if(i==0||j<=i) printf( "%-4d", a[i][j]);
printf("\n");
}
}
}

60013程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入1 个正整数 n (1≤n≤6)和n 阶方阵a中的元素,如果a是上三角矩阵, 输出"YES", 否则, 输出"NO"。(上三角矩阵,即主对角线以下的元素都为0, 主对角线为从矩阵的左上角至右下角的连线)
例:括号内是说明
输入:
2 (repeat=2)
3 1 2 3 0 4 5 0 0 6 (n=3)
2 1 0 -8 2 (n=2)
输出:
YES
NO


#include "stdio.h"
#include "math.h"
int main( )
{ int ri,repeat;
int a[6][6],flag,i,j,n;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for (i=0;ifor (j=0;jscanf("%d",&a[i][j]);
/*---------*/
if(flag) printf("YES\n");
else printf("NO\n");
}
}

60014程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入2 个正整数 m 和 n (1≤m, n≤6),然后输入该m 行 n 列矩阵a中的元素,分别求出各行元素之和, 并存入一维数组row中, 再输出row.
例:括号内是说明
输入:
1 (repeat=1)
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 "stdio.h"
#include "math.h"
int main( )
{ int ri,repeat;
int flag,i,j,m,n,sum;
int a[6][6], row[6];

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d",&m,&n);
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);
/*---

------*/
for(i=0;iprintf("sum of row %d is %d\n",i,row[i]);
}
}

60019程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0输入 1 个正整数 n(1≤n≤6)和n 阶方阵a中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标, 否则,输出"NO"(设a最多有1个鞍点)。
例:括号内是说明
输入:
2 (repeat=2)
4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 (n=4)
2 1 7 4 1 (n=2)
输出:
a[2][1]=6
NO


#include "stdio.h"
int main( )
{ int ri,repeat;
int flag,i,j,k,row,col,n,a[6][6];
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for(i=0; ifor(j=0; jscanf("%d",&a[i][j]);
/*---------*/
if(flag)
printf("a[%d][%d]=%d\n", row, col,a[row][col]);
else
printf("NO\n");
}
}

60021程序填空,不要改变与输入输出有关的语句。
连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。
统计并输出每个字符串的有效长度。
例:括号内是说明
输入:
hello 12#abc+0## (连续输入2个字符串"hello 12"和"abc+0")
输出:
8 ("hello 12"的有效长度是8)
5 ("abc+0"的有效长度是5)


#include "stdio.h"
#define MAXLEN 80
int main( )
{ int len,count,i,k;
char ch,oldch,str[MAXLEN];
oldch=' ';
while((ch=getchar())!='#'||oldch!='#'){
k=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='';
len=0;
for(i=0;str[i];i++)
len++;
printf("%d\n",len);
}
}

60022程序填空,不要改变与输入输出有关的语句。
连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。
统计并输出每个字符串中大写辅音字母的个数(大写辅音字母:除'A','E','I','O','U'以外的大写字母)。
例:括号内是说明
输入:
HELLO#IT12#uieiaba## (连续输入3个字符串)
输出:
3 ("HELLO"中有3个大写辅音字母)
1 ("IT12"中有1个大写辅音字母)
0 ("uieiaba"中没有大写辅音字母)


#include "stdio.h"
#define MAXLEN 80
int main( )
{ int count,i,k;
char ch,oldch,str[MAXLEN];
oldch=' ';
while((ch=getchar())!='#'||oldch!='#'){
k=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='';
/*---------*/
printf("%d\n",count);
}
}

60023程序填空,不要改变与输入输出有关的语句。
输入一个字符并回车,再连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。在每个字符串中查找该字符,如果找到,则输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出“Not Found”。
例:括号内是说明
输入:
m (输入一个字符)
moon#programming#1234## (输入3个字符串"moon","programming","1234")
输出:
0 (m在"moon"中

对应的最大下标是0)
7 (m在"programming"中对应的最小下标是7)
Not Found ("1234"中没有m)


#include "stdio.h"
#define MAXLEN 80
int main( )
{ int count,i,k,flag,sub;
char cc,ch,oldch,str[MAXLEN];
oldch=' ';
cc=getchar();
getchar();
while((ch=getchar())!='#'||oldch!='#'){
k=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='';
/*---------*/
if(flag) printf("%d\n",sub);
else printf("Not Found\n");
}
}

60024程序填空,不要改变与输入输出有关的语句。
连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。
将每个字符串中的大写字母用下面列出的对应大写字母替换, 其余字符不变, 输出替换后的字符串.
原字母 对应字母
A ──→ Z
B ──→ Y
C ──→ X
D ──→ W
……
X ──→ C
Y ──→ B
Z ──→ A
例:括号内是说明
输入:
A flag of USA#IT12#oueiaba## (连续输入3个字符串)
输出:
Z flag of FHZ
RG12
oueiaba


#include "stdio.h"
#include "string.h"
#define MAXLEN 80
int main( )
{ int i,k;
char ch,oldch,str[MAXLEN];
oldch=' ';
while((ch=getchar())!='#'||oldch!='#'){
k=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='';
/*---------*/
puts(str);
}
}

60025程序填空,不要改变与输入输出有关的语句。
连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。
对每个字符串做如下处理:滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。
例:括号内是说明
输入:
10#Pf4+1#-+A## (连续输入3个字符串)
输出:
16
3905
10


#include "stdio.h"
#define MAXLEN 80
int main( )
{ int i,k;
long number;
char ch,oldch,str[MAXLEN], num[MAXLEN];

oldch=' ';
while((ch=getchar())!='#'||oldch!='#'){
k=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#'; str[k]='';
/*---------*/
printf("%ld\n",number);
}
}



广告秀:
2004-06-07 22:29 向版主报告此贴 | IP: 已记录 |





用户昵称: 蝶寂

社区级别: 三级歌手

等级水平: 27

性 别: 帅哥

来 自:

门 派: 移 花 宫

星 座: 巨 蟹

发贴数量: 968

现有乐币:2290

会员序号:11146

注册: 2004年03月

[第2楼]

--------------------------------------------------------------------------------
答案 默认字体 9pt 10pt 11pt 12pt 13pt 14pt 15pt 16pt 17pt 18pt 20pt 25pt 30pt 35pt 40pt 45pt 50pt 60pt 70pt 80pt 90pt 100pt

40021
#include "stdio.h"
int main( )
{
int ri,repeat;
int i,n;
float s=0,t=1;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for(i=1;i<=n;i++)
{t=t*i;
s=s+1.0/t;}
printf("%0.4f\n",s);
t=1,s

=0;
}
}

40022
#include "stdio.h"
int main( )
{
int ri,repeat;
int i, digit, m, n, number, sum;

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
if(m>n)
{i=m;m=n;n=i;}

for(i=m;i<=n;i++)
{sum=0;
digit=i;
while(digit>0)
{sum=sum+(digit%10)*(digit%10)*(digit%10);
digit=digit/10;
}
if(i==sum)
printf("%d\n", i);
}
}
}

40023
#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int count=0, digit, i, j, k, m, n, sum=0;

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
for(i=m;i<=n;i++)
{if(i==1)
k=0;
else k=1;
for(j=2;j{
if(i%j==0)
k=0;
}
if(k==1)
count++,sum=sum+i;
}
printf("count=%d, sum=%d\n", count, sum);
count=0,sum=0;
}
}

40031
#include
int main( )
{
int ri, repeat;
int word,i=0,a;
int count=0;
char c[100];
scanf("%d", &repeat);
getchar();
for(ri=1; ri<=repeat; ri++)
{
while((c[i]=getchar())!='\n')
i++;
c[i]='\0';
for(a=0;a<=i;a++)
{
if(c[a]==' '&&c[a-1]!=' '&&a!=0)
count++;
if(c[a]=='\0'&&c[a-1]!=' ')
count++;
}
printf("%d\n", count);
count=0,i=0;
}
}

40032
#include
int main( )
{
int ri, repeat;
int digit,r[10],a=0,b=0;
long in, temp, pow;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++)
{
scanf("%ld", &in);
if(in<0)
in=-in;
while(in)
{
a=a+1;
r[a]=in%10;
in=in/10;
}
for(b=a;b>0;b--)
{
digit=r[b];
printf("%-2d", digit);
}
a=0,b=0;
printf("\n");
}
}

40033
#include
int main( )
{
int ri, repeat;
int op1, op2, res;
char operator;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &op1);
res=op1;
operator = getchar();
while(operator!='=')
{scanf("%d",&op2);
if(operator=='+') res=res+op2;
else if(operator=='-') res=res-op2;
else if(operator=='*') res=res*op2;
else if(operator=='/') res=res/op2;
operator = getchar();}
printf("%d\n", res);
}
}

50003
#include "stdio.h"
int main( )
{
int ri,repeat;
int count;
long in;
int countdigit(long number, int digit);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%ld",&in);
count=countdigit(in,2);
printf("count=%d\n",count);
}
}

int countdigit(long number,int digit)
{
int a=0;
while(number)
{
if(number<0)
number=-number ;
if(number%10==digit)
a=a+1;
number=number/10;
}
return a;
}

50006
#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int i, m, n;
long f;
long fib(int n);
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
for(i=1;i<=20;i++)
{if(fib(i)<=n&&fib(i)>=m)
{f=fib(i);
printf("%d ", f);}
}
printf("\n");
}
}

50007
#include "stdio.h"
int main( )
{
int ri,repeat;
int i, m, n;
long factorsum(int number);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
if(m==1)
printf("1 ");
for(i=m;i<=n;i++)
{if(i==factorsum(i))
printf("%d ", i);}
printf("\n");
}
}

long factorsum(int number)
{
int a,b=0;
for(a=1;a

)
if(number%a==0)
b=b+a;
return b;
}

50008
#include "stdio.h"
int main( )
{
int ri,repeat;
int i, m, n;
int is(int number);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
for(i=m;i<=n;i++)
{if(i==is(i))
printf("%d ", i);}
printf("\n");
}
}

int is(int number)
{
int a=0;
while(number)
{
a=a+(number%10)*(number%10)*(number%10);
number=number/10;
}
return a;
}

50009
#include
int main( )
{
int ri, repeat;
long in, res;
long reverse(long number);

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++)
{
scanf("%ld", &in);
res=reverse(in);
printf("%ld\n", res);
}
}

long reverse(long number)
{
int a[10],b=0,c=0,d,e=0;
if(number<0)
{number=-number,c=1;}
while(number)
{
b=b+1;
a[b]=number%10;
number=number/10;
}
for(d=1;d<=b;d++)
e=e*10+a[d];
if(c==1)
e=-e;
return e;
}

50010
#include "stdio.h"
int main( )
{
int ri,repeat;
int i,n;
void dectobin(int n);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
dectobin(n);
printf("\n");
}
}

void dectobin(int n)
{
int a[100],b=0,c,d=0;
while(n)
{
b=b+1;
a[b]=n%2;
n=n/2;
}
for(c=b;c>=1;c--)
printf("%d",a[c]);
}

60001
#include
int main( )
{
int ri, repeat;
int i, n, sum=0;
float aver;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; i{scanf("%d", &a[i]);
sum=sum+a[i];}
aver=(float)sum/n;
printf("aver=%.2f\n", aver);
sum=0;
}
}

60002
#include
int main( )
{
int ri, repeat;
int i, index, n,max;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
scanf("%d", &a[0]);
max=a[0],index=0;
for(i=1; i{scanf("%d", &a[i]);
if(maxmax=a[i],index=i;}
printf("max=%d,index=%d\n", a[index],index);
}
}

60003
#include
int main( )
{
int ri, repeat;
int i, n, temp;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; iscanf("%d", &a[i]);
for(i=n-1; i>=0; i--)
printf("%d ", a[i]);
printf("\n");
}
}

60004
#include
int main( )
{
int ri, repeat;
int i, index, n, r,s,ind;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
scanf("%d", &a[0]);
index=0,ind=0;
for(i=1; i{scanf("%d", &a[i]);
if(a[index]>a[i])
index=i;}
r=a[0],a[0]=a[index],a[index]=r;
for(i=1; i{if(a[ind]ind=i;}
s=a[n-1],a[n-1]=a[ind],a[ind]=s;
for(i=0; iprintf("%d ", a[i]);
printf("\n");
}
}

60005
#include
int main( )
{
int ri, repeat;
int i, index, k, n, temp,r;
int a[10];

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
for(i=0; iscanf("%d", &a[i]);
for(k=0;k{for(r=1;r{if(a[r]>a[r-1])
temp=a[r],a[r]=a[r-1],a[r-1]=temp;}
}
for(i=0; iprintf("%d ", a[i]);
printf("\n");
}
}

60011
#include "stdio.h"
int main(

)
{ int ri,repeat;
int a[6][6],i,j,n,sum=0;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for (i=0;i{for(j=0;j{scanf("%d",&a[i][j]);
if(i==n-1||j==n-1||i+j==n-1)
a[i][j]=0;
sum=sum+a[i][j];}
}
printf("sum=%d\n",sum);
sum=0;
}
}

60012
#include "stdio.h"
int main( )
{ int ri,repeat;
int i,j,n,a[10][10];
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
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( "%-4c", '+');
else if(i==0||j<=i) printf( "%-4d", a[i][j]);
printf("\n");
}
}
}

60013
#include "stdio.h"
#include "math.h"
int main( )
{ int ri,repeat;
int a[6][6],flag=1,i,j,n;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for (i=0;ifor (j=0;j{scanf("%d",&a[i][j]);
if(i>j&&a[i][j]!=0)
flag=0;}
if(flag) printf("YES\n");
else printf("NO\n");
flag=1;
}
}

60014
#include "stdio.h"
#include "math.h"
int main( )
{ int ri,repeat;
int flag,i,j,m,n,sum;
int a[6][6];
static int row[6];
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++)
{
scanf("%d%d",&m,&n);
for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);
row[i]=row[i]+a[i][j];}
for(i=0;i{printf("sum of row %d is %d\n",i,row[i]);
row[i]=0;}

}
}

60019
#include "stdio.h"
int main( )
{ int ri,repeat;
int flag=0,i,j,k,l,r=0,s=0,row,col,n,a[6][6];
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for(i=0; ifor(j=0; jscanf("%d",&a[i][j]);
for(i=0; ifor(j=0; j{for(k=0;k{if(a[i][j]>=a[i][k])
r=r+1;}

for(l=0;l{if(a[i][j]<=a[l][j])
s=s+1;}

if(r==n&&s==n)
row=i,col=j,flag=1;
s=0,r=0;
}
if(flag)
printf("a[%d][%d]=%d\n", row, col,a[row][col]);
else
printf("NO\n");
s=0,r=0,flag=0;
}
}



600021:
#include "stdio.h"
#define MAXLEN 80
int main( )
{ int len,count,i,k;
char ch,oldch,str[MAXLEN];
oldch=' ';
while((ch=getchar())!='#'||oldch!='#')
{
k=0;
while(ch!='#'&& k< MAXLEN-1)
{
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='\0';
len=0;
for(i=0;str[i];i++)
len++;
printf("%d\n",len);
}
}


60022
#include "stdio.h"
#define MAXLEN 80
int main( )
{ int count=0,i,k;
char ch,oldch,str[MAXLEN];
oldch='\0';
while((ch=getchar())!='#'||oldch!='#'){
k=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='\0';
for(i=0;i{if(str[i]>'A'&&str[i]<='Z'&&str[i]!='E'&&str[i]!='I'&&str[i]!='O'&&str[i]!='U')
count++;}
printf("%d\n",count);
count=0;
}
}

60023
#include "stdio.h"
#define MAXLEN 80
int main( )
{ int count,i,k,flag,sub;
char cc,ch,oldch,str[MAXLEN];
oldch='\0';
cc=getchar();
getchar();
while((ch=getchar())!='#'||oldch!='#'){
k=0,sub=0,flag=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='\0';
for(i=0;i{if(str[i]==cc)
sub=i, flag=1

;}
if(flag)
printf("%d\n",sub);
else
printf("Not Found\n");

}
}


60024
#include "stdio.h"
#include "string.h"
#define MAXLEN 80
int main( )
{ int i,k;
char ch,oldch,str[MAXLEN];
oldch='\0';
while((ch=getchar())!='#'||oldch!='#'){
k=0;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='\0';
for(i=0;i{if(str[i]>='A'&&str[i]<='Z')
str[i]=155-str[i]; }
puts(str);
}
}

60025
#include "stdio.h"
#define MAXLEN 80
int main( )
{ int i,k,p;
long number;
char ch,oldch,str[MAXLEN], num[MAXLEN];

oldch='\0';
while((ch=getchar())!='#'||oldch!='#'){
k=0,number=0,p=1;
while(ch!='#'&& k< MAXLEN-1){
str[k++]=ch;
ch=getchar();
}
oldch='#';
str[k]='\0';
for(i=k-1;i>=0;i--)
{
if(str[i]>='0'&&str[i]<='9')
number=number+(str[i]-48)*p,p=p*16;
else if(str[i]>='A'&&str[i]<='F')
number=number+(str[i]-55)*p,p=p*16;
else if(str[i]>='a'&&str[i]<='f')
number=number+(str[i]-87)*p,p=p*16;
}
printf("%ld\n",number);
}
}

相关主题
相关文档
最新文档