几道C语言上机考试题,答者有分

atpjxhaq 2005-02-25 01:44:03
1.有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
编写程序,在屏幕上打印输出这些三位数。
2。有一个整数,加上100后是一个完全平方数,再加上168又是一个完全平方数,
编写程序求出该数是多少?
3,编写C程序,要求能读入一正整数n(n<10),并输入出如下图形:
       1
2 2 2
3 3 3 3 3
.
.
nn..........nn(共2n-1个n)
.
.
3 3 3 3 3
2 2 2
1
4.编写c程序,要求能读入两个整数m与n,计算输出m与n的绝对值的最大公约数及最小公倍数。
5.已知e=1+1/1!+1/2!+1/3!+...+1/n!,试用上述公式求e的近似值。要求累加所有不小于10^-6的项值,部分程序给出如下,请完成该程序,实现以上功能:
#include<stdio.h>
main()
{
int i;
float e,n;
e=1.0;i=1;
n=1.0;
/************在此编写代码**************/
}
fun(int i)
{
int j,k;
k=1;
for(j=1;j<=j;++j)
k=k*j;
return(k);
}

6.请编写程序求出100-200之间的所有素数,并将结果在屏幕上显示出来。(素数是
只能被1和本身整除的自然数)
7.编写一个函数Fun(str),它的功能是:统计由实参传来的一个字符中的字母
、数字、空格和其它字符的个数。部分源程序如下,请勿改动主函数
main和其它函数中的任何内容,仅在函数fun的花括号中填入你的编写
的若干语句。
#Include<stdio.h>
int alph,digit,space,others;
main()
{
char text[80];
printf("\n请输入一个字符串;\n");
gets(text);
printf("字符串是:");
puts(text);
alph=digit=space=others=0;
fun(text);
printf("\n%d个字母,%d个数字,%个空格,%个其他字符.\n",alph,digit,space,others);
}
fun(str)
char str[];
{............}
8.编写程序,它的功能是:将一个3*3的矩阵转置,如运行程序时,按行输入以下3*3
的矩阵:
  1 2 3
4 5 6
7 8 9
转置后的矩阵为:
  1 4 7
  2 5 8
  3 6 9 
9.编写程序打印出如下的逆蛇形数字方阵。(用循环语句,行数可变,至少8行)
1 12 11 10
2 13 16 9
3 14 15 8
4 5  6 7

10.正读和反读都是一样的字符串称为回文字符串,在键盘上输入一个字符串,判断它是
否是回文字符串(字符串中字符的个数不得少于10)

11、编写C程序,要求能读入一个字符串(100以内个字符,其中有空格),计算并输出
该字符串中所有大写英文字母的个数。

12、一个整数,加上100后是一个完全平方数,再加上168又是一个完全平方数,编写程序
要求在100000以内的整数中找出所有满足上述性质的整数。

13、编写程序,求1到100之间的奇数之和及偶数之和,并将二者输出。

14、编写程序,计算PI的近似值,公式如下:PI/4≈(1-1/3+1/5-1/7+...)直到累加项
的绝对值小于0.0001为止。(即公式右边的各项的绝对值大于0.0001)。

...全文
921 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycom__net 2005-03-13
  • 打赏
  • 举报
回复
1.


#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j,k,count=0;
for(i=1; i<=4; i++)
for(j=1; j<=4; j++)
for(k=1; k<=4; k++)
{
if(i!=j&&i!=k&&j!=k)
{
printf("%d%d%d\n",i,j,k);
count++;
}
}
printf(" %d" ,count);
system("PAUSE");
return 0;
}
ycom__net 2005-03-13
  • 打赏
  • 举报
回复
1.






#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j,k,count=0;
for(i=1; i<=4; i++)
for(j=1; j<=4; j++)
for(k=1; k<=4; k++)
{
printf("%d%d%d\n",i,j,k);
count++;
}
printf(" %d" ,count);
system("PAUSE");
return 0;
}
ycom__net 2005-03-13
  • 打赏
  • 举报
回复
answer to pro1:


#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j,k,count=0;
for(i=1; i<=4; i++)
for(j=1; j<=4; j++)
for(k=1; k<=4; k++)
{
printf("%d%d%d\n",i,j,k);
count++;
}
printf(" %d" ,count);
system("PAUSE");
return 0;
}
ouyangdongfang 2005-03-13
  • 打赏
  • 举报
回复
C语言版本, 在TC 上调试已经通过.
5.已知e=1+1/1!+1/2!+1/3!+...+1/n!,试用上述公式求e的近似值。要求累加所有不小于10^-6的项值,部分程序给出如下,请完成该程序,实现以上功能:

#include<stdio.h>
float fun(int);
void main()
{
int m;
float e,n;
e=1.0; n=1.0;
for(m=1; (1/fun(m))>=0.000001; m++)
{
n=fun(m);
e+=1/n;
}
printf("The number is %f",e);
getchar();
}
float fun(int i)
{
int j;
float k=1;
for(j=1;j<=i;++j)
k=k*j;
return(k);
}
熬夜王者 2005-03-12
  • 打赏
  • 举报
回复
哎~~~~~小弟我刚学就只会做第4题.............做法和xiaowei6097(GiGi) 一样..........悲哀
zzzzrp 2005-03-12
  • 打赏
  • 举报
回复
mark
chsal 2005-02-28
  • 打赏
  • 举报
回复
收藏
nonowhy 2005-02-28
  • 打赏
  • 举报
回复
发个第9题,赚点分:
/*
output matrix like this:
1 12 11 10
2 13 16 9
3 14 15 8
4 5  6 7
*/
//int *array;
int **matrix;

void SnakeMatrix(int n)
{
int i , j;
matrix = new int*[n] ;
for(i = 1;i<=n;i++)
matrix[i] = new int[n];
/***************************************************************/
i = 1; j = 1;
int index = 1, m = n , temp;
//dircx , dircy indicate the direction
//for example:
/*dircx dircy
0 0 \|/
0 1 >
1 0 /|\
1 1 <
*/
bool dircx = 0 ,dircy = 0;
while(index<=n*n)
{
if(dircx==0&&dircy==0) // \|/
{
for(temp = m ;temp>0;temp--)
matrix[i++][j] = index++;
i--;
j++;
m--;
dircx = 0 ;
dircy = 1;
continue;
}
if(dircx==0&&dircy==1) // >
{
for(temp = m ;temp>0;temp--)
matrix[i][j++] = index++;
j--;
i--;
dircx = 1;
dircy = 0;
continue;
}
if(dircx==1&&dircy==0)
{
for(temp = m ; temp>0 ;temp--)
matrix[i--][j] = index++;
i++;
j--;
m--;
dircx = 1;
dircy = 1;
continue;
}
if(dircx==1&&dircy==1) // <
{
for(temp = m;temp>0;temp--)
matrix[i][j--] = index++;
j++;
i++;
dircx = dircy = 0;
}
}
for(i = 1;i<=n;i++)
{
for(int j =1;j<=n;j++)
printf("%d " , matrix[i][j]);
printf("\n");
}
delete []matrix;
}
atpjxhaq 2005-02-26
  • 打赏
  • 举报
回复
后面几道题怎么没有人回复呢?
kevin8365 2005-02-26
  • 打赏
  • 举报
回复
实现的算法思想大同小异,关键在语句的复杂度
piao0528 2005-02-26
  • 打赏
  • 举报
回复
计算机考研群:9733227
yclr 2005-02-26
  • 打赏
  • 举报
回复
自己写一下,都不是很难哦
jipuy 2005-02-26
  • 打赏
  • 举报
回复
16题:C语言版
#include "stdio.h"
#include "conio.h"

main()
{
int i;
long f[20]={1,1};

for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];

for(i=0;i<20;i++)
{
if(i%5==0)
printf("\n");
printf("(F%-2d)%-10ld",i+1,f[i]);
}
}
jipuy 2005-02-26
  • 打赏
  • 举报
回复
第一题:C语言版
#include <stdio.h>
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)
 for(j=1;j<5;j++) 
  for (k=1;k<5;k++)
   {
    if (i!=k&&i!=j&&j!=k)
    printf("%d,%d,%d\n",i,j,k);
   }
}
linquan88 2005-02-26
  • 打赏
  • 举报
回复
自己去看本算法方面的书,全都有!!!!
stevens2009 2005-02-26
  • 打赏
  • 举报
回复
,
stormwolf 2005-02-26
  • 打赏
  • 举报
回复
自己做作业不是很好吗,为什么要抄啊??
llmsn 2005-02-26
  • 打赏
  • 举报
回复
因为你的这些是作业.
turnerbook 2005-02-25
  • 打赏
  • 举报
回复
14
float calpi()
{
int k=1;
float pi=0;
float i=0;
int j=1;
i=1/k;

while(i>=0.0001)
{
pi+=-1*j*i;
}

return pi;
}
Xyray 2005-02-25
  • 打赏
  • 举报
回复
里面好多通过不了的程序哦 希望发贴者检查

其实重点在算法和程序性能
加载更多回复(25)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧