很简单的10个题目,然后还有ACM的一些题目。。
//1输入行数输出杨辉三角
#include<stdio.h>
int main(void){
int a[50][50],i,j,n;
printf("请输入杨辉三角形行数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<=n;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf(" %d ",a[i][j]);
printf("\n");
}
getch();
return 0;
}
//2输入:年月日输出:这天是这一年的第一天
#include"stdio.h"
int main(void){
int nyear=0,month=0,date=0,nDays=0;
printf("请输入年、月、日\n");
scanf("%d %d%d",&nyear,&month,&date);
switch(month-1){
case 11:nDays+=30;
case 10:nDays+=31;
case 9:nDays+=30;
case 8:nDays+=31;
case 7:nDays+=31;
case 6:nDays+=30;
case 5:nDays+=31;
case 4:nDays+=30;
case 3:nDays+=31;
case 2:if(nyear%4==0)nDays+=29;else nDays+=28;
case 1:nDays+=31;
}
nDays+=date;
printf("这一天是%d年的第%d天\n",nyear,nDays);
}
//3不利用string.h头文件 进行字符串的追加
#include<stdio.h>
#define NUM 80
char *cat(char*p1,char *p2);
int main(void){
char *p;
char s1[NUM],s2[NUM];
printf("Input the firststring:\n");
gets(s1);
printf("Input the secondstring:\n");
gets(s2);
printf("afterlink:%s\n",cat(s1,s2));
}
char *cat(char*p1,char *p2){
char *p;
p=p1;
while(*p1++);
p1--;
while(*p1++=*p2++);
return p;
}
//4
输入考生信息
#include"stdio.h"
struct student{
int num;
char name[20];
int score[3];
int m;
};
typedef structstudent STUDENT;
void sort(STUDENTs[]);
main(){
int i,j;
STUDENT s[4];
for(i=0;i<4;i++){
printf("enter:\n");
scanf("%d%s",&s[i].num,s[i].name);
for(j=0;j<3;j++)
scanf("%d",&s[i].score[j]);
}
sort(s);
printf("学号 姓名 C语言 高数 思修 总成绩\n");
for(i=0;i<4;i++){
printf("%d%10s",s[i].num,s[i].name);
for(j=0;j<3;j++)
printf("%10d",s[i].score[j]);
printf("%10d\n",s[i].m);
}
getch();
}
void sort(STUDENTs[]){
int i,j,min,temp;
STUDENT p;
for(i=0;i<4;i++){
s[i].m=0;
for(j=0;j<3;j++)
s[i].m=s[i].m+s[i].score[j];
}
for(i=0;i<4;i++){
min=i;
for(j=i+1;j<4;j++)
if(s[min].m>s[j].m){
temp=min;
min=j;
j=temp;
}
if(min!=i){
p=s[i];
s[i]=s[min];
s[min]=p;
}
}
}
//5有这样一个6位数,它本身是一个整数的平方,其高三位和低三位也分别是一个整数的平方,求满足上述条件的所有6位数。
#include"stdio.h"
#include"math.h"
void fun(long i);
int main(void){
long i=0;
fun(i);
return 0;
}
void fun(long i){
longa1,a2;long j,k,l;
for(i=100000;i<=999999;i++){
j=(long)sqrt(i);
if(j*j==i){
a1=i/1000;
a2=i%1000;
k=(long)sqrt(a1);
l=(long)sqrt(a2);
if(k*k==a1&&l*l==a2)
printf("\n%ld=%ldX%ld,%ld=%ldX%ld,%ld=%ldX%ld\n",i,j,j,a1,k,k,a2,l,l);
}
}
}
//6:判断 101-200 之间有多少个素数,并输出所有素数
#include"stdio.h"
#include"conio.h"
#include"math.h"
main() {
int m,i,k,h=0,leap=1;
printf("\n");
for(m=101;m<=200;m++){
k=sqrt(m+1);
for(i=2;i<=k;i++){
if(m%i==0){
leap=0;
break;
}
}
if(leap){
printf("%-4d",m);
h++;
if(h%10==0){
printf("\n");
}
}
leap=1;
}
printf("\nThe total is%d",h);
getch();
}
//7将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
#include"time.h"
#include"stdio.h"
main() {
clock_t start,end;
int i;
double var;
start=clock();
for(i=0;i<10000;i++) {
printf("\1\1\1\1\1\1\1\1\1\1\n");
} end=clock();
printf("\1: The different is%6.3f\n",(double)(end-start));
}
//8验证一个偶数可以写成两个素数相加
#include<stdio.h>
#include<math.h>
int prime(int w){
int i,a;
a=1;
for(i=2;i<=sqrt(w)&&a;i++)
if(w%i==0)
a=0;
return a;}
void abc(int n){
int r,s;
for(r=2;r<n;r++){
s=n-r;
if(prime(r)&&prime(s)&&r<=s)
printf("%d=%d+%d\n",n,r,s);
}
}
int main(void){
int n;
scanf("%d",&n);
abc(n);
getchar();
return 0;
}
//9对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?
#include<stdio.h>
int main (void){
int i=0,n=0,no=0;
printf("input:\n");
scanf("%d",&n);
while(n!=1){
if (n%2==0){
n=n/2;
no++;
}
else {
n=(3*n+1)/2;
no++;
}
}
printf("砍了%d次\n",no);
}
//10给定整数区间[A,B]问其中有多少个完全平方数。
输入格式:
多组数据,包含两个正整数A,B 1<=A<=B<=2000000000。
输出格式:
每组数据输出一行包含一个整数,表示闭区间[A,B]中包含的完全平方数的个数。
#include<stdio.h>
#include<math.h>
int main (void){
int A=0,B=0,i=0,n=0,no=0;
printf("input:A B\n");
scanf("%d %d",&A,&B);
for (i=A;i<=B;i++){
if (sqrt(i)*sqrt(i)==i)no++;
}
printf("%d\n",no);
}
hdu 1089
#include <stdio.h>
int main()
{
int a = 0, b = 0;
while (~scanf("%d%d", &a, &b))
{
printf("%d\n", a + b);
}
return 0;
}
//当scanf函数读不到值的时候返回-1。
//所有的整数中,只有-1取反为0(‘ ~ ’表示取反)。
hdu 1090
#include <stdio.h>
int main()
{
int a = 0, b = 0;
int t, i;
scanf("%d", &t);
for (i = 0; i < t; i++)
{
scanf("%d%d", &a, &b);
printf("%d\n", a + b);
}
return 0;
}
hdu 1091
#include<stdio.h>
int main()
{
int a, b;
while (scanf("%d %d", &a, &b) != EOF && (a || b))
{
printf("%d\n", a + b);
}
return 0;
}
//EOF为一常量,值为-1。
hdu 1092
#include<stdio.h>
int main()
{
int n;
int t, sum;
int i;
while (scanf("%d", &n) != EOF && n)
{
for (i = 0, sum = 0; i < n; i++)
{
scanf("%d", &t);
sum += t;
}
printf("%d\n", sum);
}
return 0;
}
hdu 1093
#include<stdio.h>
int main()
{
int n, m;
int t, sum;
int i, j;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &m);
for (j = 0, sum = 0; j < m; j++)
{
scanf("%d", &t);
sum += t;
}
printf("%d\n", sum);
}
return 0;
}
hdu 1094
#include<stdio.h>
int main()
{
int n;
int t, sum;
int i;
while (scanf("%d", &n) != EOF && n)
{
for (i = 0, sum = 0; i < n; i++)
{
scanf("%d", &t);
sum += t;
}
printf("%d\n", sum);
}
return 0;
}
hdu 1095
#include<stdio.h>
int main()
{
int a, b;
while (scanf("%d %d", &a, &b) != EOF && (a || b))
{
printf("%d\n\n", a + b);
}
return 0;
}
hdu 1096
#include<stdio.h>
int main()
{
int n, m;
int t, sum;
int i, j;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &m);
for (j = 0, sum = 0; j < m; j++)
{
scanf("%d", &t);
sum += t;
}
printf("%d\n", sum);
if (i != n - 1)
printf("\n");
}
return 0;
}