帅气的3C哥参加了一场考试,已知考试共五科,现知道他每科的成绩,求3C哥的总成绩。
输入:输入一行,输入5个整数,表示3C哥每科成绩,范围在[0, 100]内。
输出:输出一行,输出1个整数,表示3C哥的总成绩
输入样例1:98 95 87 100 90输出样例1:
470实例:
#includeB:3n + 1问题 题目: 描述:#include #include #include #include int main() { int a[5]; int i,sum=0; for(i=0;i<5;i++) { scanf("%d",&a[i]); sum+=a[i]; } printf("%d",sum); return 0; }
对于任意大于1的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半;经过若干次这样的变换,一定会使n变为1。比如:
3->10->5->16->8->4->2->1
输入n,输出变换的次数。
输入:输入一行,输入一个正整数n,1 <= n <= 100。
输出:输出一行,输出一个正整数,表示变换的次数。
输入样例1:3输出样例1:
7实例:
#include#include #include #include #include int main() { int n,cnt=0; scanf("%d",&n); for(;n!=1;) { if(n%2==1) { n = 3*n+1; cnt++; } else { n = n/2; cnt++; } } printf("%d",cnt); return 0; }
C:稀疏矩阵 题目: 描述:
大部分元素为0的矩阵称为稀疏矩阵。假设有k个非0元素,则可把稀疏矩阵用k*3的矩阵简记之,其中第一列为行号,第二列为列号,第三列是该行、该列下的非0元素的值。
输入:首先输入一行,输入两个正整数,表示稀疏矩阵的行号和列号,再输入一个稀疏矩阵,行和列不超过100。
输出:输出它的简记形式,按从上到下,从左到右的顺序依次输出。每一行输出3个整数,每两个整数之间一个空格,最后一个整数后面没有空格。
输入样例1:3 4 0 0 0 5 0 2 0 0 0 1 0 0输出样例1:
1 4 5 2 2 2 3 2 1实例:
#include#include #include #include #include int main() { int m,n; int i,k; int cnt[100][100],ret[100][100],t[100][100]; for(i=0;i<100;i++) for(k=0;k<100;k++) { cnt[i][k]=0; t[i][k]=0; } scanf("%d%d",&m,&n); int a[100][100]; for(i=0;i
D:开灯问题 题目: 描述:有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),以此类推。一共有k个人,问最后有哪些灯开着?
输入:输入一行,输入两个正整数n和k。(k<=n<=1000)
输出:输出一行,输出所有开着的灯的编号,每个编号后面跟一个空格。
输入样例1:7 3
输出样例1:1 5 6 7
提示:可先使用string.h里的memset函数将数组全部置0;使用C语言的逻辑非(!)操作符
实例:#include#include #include #include #include int main() { //没有用提示,但不扣分 int n,k; scanf("%d%d",&n,&k); int a[1000],b[1000]; int i,m,t=2; for(i=0;i E:还是一个不妖艳的问题 题目: 描述: U君与S君想测试下双方的缘分,测试规则是两人各想一个数字,如果两个数字互质则代表有缘分。
输入:多组测试,每组测试输入两个数字m和n(m和n均不超过int取值范围),空格隔开。
输出:对于每组,如果有缘分的话,输出“Yes”;否则,输出“No”
输入样例1:10 5 17 13输出样例1:No Yes提示:可使用 while (scanf("%d%d", &n, &m) != EOF) 完成多组输入
实例:#include#include #include #include #include int gcd(int m,int n) { while(n^=m^=n^=m%=n); return m; } int main() { int m,n; while(scanf("%d%d",&m,&n)!=EOF) { if(m F:回文串的排序 题目: 描述: 输入n个字符串,将其中是回文串的字符串,按照长度从小到大的顺序输出,如果长度相同,则按照输入的顺序输出即可。
输入:
回文的含义是:正着看和倒着看相同,如abba和yyxyy。第一行首先是一个整数n(n<50),表示有n个字符串(每个字符串的都长度小于100)。接下来有n行,每行输入一个字符串。
输出:按照长度从小到大的顺序输出其中的回文串,如果长度相同,则按照输入的顺序输出。
输入样例1:4 abbb abccba abba acca输出样例1:abba acca abccba实例:#include#include #include #include #include class huiwen { public: char a[100]; }store[50]; int main() { int n,i,k,cnt=0; scanf("%d",&n); char temp[100]; for(i=0;i strlen(store[k+1].a)) { char s[100]; strcpy(s,store[k].a); strcpy(store[k].a,store[k+1].a); strcpy(store[k+1].a,s); } for(i=0;i G:蛇形填数 题目: 描述: 在n*n方阵里填入1,2,…,n*n,要求填成蛇形。例如n=4时方阵为:
输入:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4本题为多组输入。每组数据输入一行,输入一个正整数n。n<=8。
输出:输出n*n的蛇形矩阵,每行中每两个数之间用一个空格隔开,每行最后一个数后面没有空格。
输入样例1:4输出样例1:10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4实例:#include暑期编程PK赛 得CSDN机械键盘等精美礼品!#include #include #include #include int main() { int n; while(scanf("%d",&n)!=EOF) { int count=1; int a[8][8]; int i,j,t=0; while(count<=n*n) { for(i=n-1-t,j=0+t;j =n*n) break; for(i=n-1-t,j=n-1-t;i>0+t;i--) a[j][i] = count++; if(count>=n*n) break; for(i=0+t,j=n-1-t;j>0+t;j--) a[j][i] = count++; if(count>=n*n) break; for(i=0+t,j=0+t;i =n*n) break; t++; } a[(n-1)/2][(n-1)/2] = n*n; int x,y; for(x = 0; x < n; x++) { for(y = 0; y < n; y++) { if(y!=n-1) printf("%d ", a[x][y]); else printf("%d", a[x][y]); } printf("n"); } } return 0; }



