设为首页 加入收藏

TOP

全国计算机等级考试南开C语言上机100题背诵版
2014-11-13 19:15:04 】 浏览:359
Tags:全国 计算机 等级考试 南开 语言 上机 100 背诵

1、个十百千位加减并大小排序问题:
  求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt, 再把所有满足此条件的四位数依次存入数组b中, 然后对数组b的四位数按从大到小的顺序进行排序。
{
int i,j,k,t;
for(i=0; i < 300; i++)
if(a[i]%10-a[i]/1000-a[i]/100%10-a[i]/10%10>0)
b[cnt++]=a[i];
for(i=0; i < cnt-1; i++)
{ k=i;
for(j=i+1; j < cnt; j++)
if(b[k] < b[j]) k=j;
if(k!=i) { t=b[k]; b[k]=b[i]; b[i]=t; }
}
}

2、个十百千重新排列,符合条件的数大小排序问题:
  把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab>cd, ab必须是偶数且能被5整除, cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。
void jsVal()
{
int i,j,k,A,B,C,D;
for(i=0; i < MAX; i++)
{ A=a[i]/1000; B=a[i]/10%10; C=a[i]%10; D=a[i]/100%10;
if(A!=0&&C!=0&&(B==0)&&(D%2!=0)&&(10*A>10*C+D))
b[cnt++]=a[i];
}
for(i=0; i < cnt-1; i++)
{ k=i;
for(j=i+1; j < cnt; j++)
if(b[k] < b[j]) k=j;
if(k!=i) {A=b[k]; b[k]=b[i]; b[i]=A;}
}
}

3、求符合条件的数的总和和平均值问题:
  求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt, 再求出所有满足此条件的四位数平均值pjz1, 以及所有不满足此条件的四位数平均值pjz2。
{
int i;
for(i=0; i < 300; i++)
if(a[i]/1000-a[i]/100%10-a[i]/10%10-a[i]%10>0)
{ cnt++; pjz1+=a[i]; }
else pjz2+=a[i];
if(cnt) pjz1/=cnt;
if(cnt<300) pjz2/=300-cnt;
}

4、求共有几个数以及各位数相加为基数的个数并求平均值问题:
  1. 求出这文件中共有多少个正整数totNum; 2.求出这些数中的各位数字之和是奇
数的数的个数totCnt, 以及满足此条件的这些数的算术平均值totPjz。
void Calvalue(void)
{
while(xx[totNum]!=0)
{
if((xx[totNum]/1000+xx[totNum]/100%10+xx[totNum]/10%10+xx[totNum]
%10)%2)
{ totCnt++; totPjz+=xx[totNum]; }
totNum++;
}
if(totCnt) totPjz/=totCnt;}

5、报数出圈
void Josegh(void)
{
int i,j,s1,w;
s1=s;
for(i=1;i<=n;i++)
p[i-1]=i;
for(i=n;i>=2;i--)
{s1=(s1+m-1)%i;
if(s1==0)
s1=i;
w=p[s1-1];
for(j=s1;j p[j-1]=p[j];
p[i-1]=w;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2006年9月计算机等级考试三级C语.. 下一篇等级考试二级C语言考前上机密卷[..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目