2006年885编程题
第一题:
#include <stdio.h> #include <math.h> int LAdd(int k); int NAdd(int k); double DAdd(int k); int main(){ int n1=100,n2=50,n3=10; printf("值=%lf\n",LAdd(n1)+NAdd(n2)+DAdd(n3)); } int LAdd(int k){//累加 int i,j,sum=0; for(i=1;i<=k;i++){ sum+=i; } return sum; } int NAdd(int k){//平方项累加 int i,sum=0; for(i=1;i<=k;i++){ sum+=k*k; } return sum; } double DAdd(int k){//倒数累加 int i; double sum=0.0; for(i=1;i<=k;i++){ sum+=1.0/i; } return sum; }
第二题:
#include <stdio.h> #include <math.h> int IsSXH(int num){ int g,s,b; g=num%10; s=num/10%10; b=num/100%10; if(g*g*g+s*s*s+b*b*b==num) return 1;//是水仙花数 else return 0;//不是水仙花数 } int main(){ int i,j; printf("水仙花数如下:\n"); for(i=100;i<1000;i++){ if(IsSXH(i)) printf("%4d",i); } return 0; }
第三题 :
#include <stdio.h> #include <math.h> #define N 4 void SeInfo(); void Mperson(int num); char name[N][10]={"zhang","wang","li","zhao"}; int selected[N]={0}; int main(){ int n,count=0; printf("请输入选号,输入-1作为结束:\n"); scanf("%d",&n); while(n!=-1){ count++; if(n<1||n>4) continue; else selected[n-1]++; scanf("%d",&n); } SeInfo(); Mperson(count); return 0; } void SeInfo(){//选票信息 printf("选票的信息:\n"); printf("姓名\t选票\n"); int i; for(i=0;i<N;i++){ printf("%s\t%d\n",name[i],selected[i]); } } void Mperson(int num){ printf("当选者的信息\n"); printf("姓名\t选票\n"); int i; for(i=0;i<N;i++){ if(selected[i]>num/2) printf("%s\t%d\n",name[i],selected[i]); } }
第四题:
#include<stdio.h> #include<math.h> void print(char ch){ int i,j,k,len=ch-'A'; for(i=0;i<=len;i++){//上三角的输出 for(j=0;j<len-i;j++) printf(" "); for(k=0;k<=2*i;k++) printf("%c",'A'+i); printf("\n"); } //下三角的输出 for(i=0;i<=len-1;i++){ for(j=0;j<=i;j++) printf(" "); for(k=0;k<2*len-2*i-1;k++) printf("%c",ch-i-1); printf("\n"); } } int main(){ char ch; printf("请输入一个字符:"); scanf("%c",&ch); print(ch); return 0; }
一纸高中万里风,寒窗读破华堂空。
莫道长安花看尽,由来枝叶几相同?