當前位置:首頁 » 編程語言 » c語言編程題復試篩選
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程題復試篩選

發布時間: 2022-10-19 01:00:16

『壹』 c語言編程題:超級素數。

/**************************************
大體的思路:先求出1000-9999之間的素數,然後在這些素數中
找出前1、2、3、4位都是素數的數即為超級素數,每次找到一個
超級素數都與之前的超級素數加和,並且記錄超級素數個數的變數加1,
並與之前找到的超級素數比較,記錄最大的超級素數。
最後輸出就可以了。
************************************/
#include <stdio.h>
#define MAX 10000

int prime[MAX] ; //prime數組記錄1到9999每個數是否為素數,例如prime[9999]==1表示9999是素數

//searchPrime是找出1到9999之間的所有素數,並保存到prime數組
void searchPrime()
{

int i, j ;

for(i = 0; i < MAX; i++)
prime[i] = 1 ; //所有元素初始化為1,即假定都是素數
prime[0] = 0 ;//0不是素數
prime[1] = 0 ;//1不是素數
//下面開始篩選素數
for(i = 2; i*i < MAX; i++)
{
if(prime[i]) //如果i是素數,把它的倍數都篩掉
for(j = 2*i; j < MAX; j+=i)
{
prime[j] = 0 ; //j是i的倍數,因此j最起碼有一個因子是i,所以不可能是素數
}
}
}

int main()
{
int sum ; //sum記錄超級素數的和
int i ;
int count ; //count記錄超級素數的個數
int max ; //max記錄最大的超級素數
int n ;

scanf("%d", &n) ;
searchPrime() ; //初始化Prime數組
count = 0 ;
sum = 0 ;
max = 0 ;
for(i = 1001; i <= n; i++)
{
if(prime[i] && prime[i/1000]
&& prime[i/100] && prime[i/10]) //說明i是超級素數
{
sum += i ;
count++ ;
if(max < i)
max = i ;
}
}
printf("%d\n%d\n%d\n", count, sum, max) ;
return 0 ;
}

//寫的倉促,只驗證了9999,其他的數字並未驗證,有問題再反饋吧。

『貳』 幫我改下這題c語言編程題,我真不知道要怎麼弄了

#include <stdio.h>
#include <stdlib.h>
struct data
{
int x1,x2,x3;
}aa[200],bb[200],xy;

//定義3個結構體數組
void readDat();
void writeDat(int count);
int jsSort()
{
int i,j,cnt=0;

//以下是篩選符合第二個數大於第一個數加第三個數的之和
for(i=0;i<200;i++)
if(aa[i].x2>(aa[i].x1+aa[i].x3)) bb[cnt++]=aa[i];

//以下第二個數加第三個之和的大小進行降序排列
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(bb[i].x2+bb[i].x3>bb[j].x2+bb[j].x3)
{
xy=bb[i]; bb[i]=bb[j]; bb[j]=xy;}
return cnt; //返回符合條件的個數
}

void main()
{
int count;
readDat();
count=jsSort(); /*返回滿足條件的個數*/
writeDat(count);
}

void readDat()
{
FILE *in;
int i;
if((in=fopen("in.dat","r"))==NULL); //讀方式打開文件in.dat
{
printf("Cannot open file!");
exit(0);
}
//以下是分組讀取in.dat中的數據並賦值給結構體數組aa[]
for(i=0; i<200; i++)
fscanf(in,"%d %d %d",&aa[i].x1,&aa[i].x2,&aa[i].x3);
fclose(in);
}

void writeDat(int count)
{
FILE *out;
int i;
if((out=fopen("out.dat","w"))==NULL)
{ printf("Cannot open file!"); //寫方式打開out.dat
exit(0);
}
fwrite(&bb,sizeof(struct data),1,out); //將結構體數組bb中的元素寫入out.dat
fclose(out);
}

『叄』 C語言簡單編程題,由提示編寫程序,謝謝大神的幫助!!十分感激!!

#include <stdio.h>


int max(int a[], int n) {

int i = 0,m;

m = a[0];

for(i = 1;i < n;i++)

if(a[i] > m) m = a[i];

return m;

}


void show(int a[],int n) {

int i;

for(i = 0; i < n; ++i)

printf("%d ",a[i]);

printf(" ");

}


int main() {

int a[] = {21,23,10,65,8,7,90,11,49,60,33,54,22,91,39,87,66,58,39,80};

int n = sizeof(a)/sizeof(a[0]);

printf("數組為: ");

show(a,n);

printf("最大元素為:%d ",max(a,n));

return 0;

}

『肆』 C語言程序編程題,求大神幫幫忙

#include<stdio.h>

int main()

{ struct stu

{ int id;

char name[11];

int a,b,c;

} t,st[5];

int i,j;

FILE *fp1,*fp2;

if((fp1=fopen("d:\stud.dat","r"))==NULL)

{ printf("f1 open error! ");

return 1;

}

if((fp2=fopen("d:\studsort.dat","w"))==NULL)

{ printf("f2 open error! ");

return 2;

}

for(i=0; i<5; i++)

fscanf(fp1,"%d%s%d%d%d",&st[i].id,st[i].name,&st[i].a,&st[i].b,&st[i].c);

for(i=0; i<4; i++)

for(j=0; j<4-i; j++)

if(st[j].a+st[j].b+st[j].c<st[j+1].a+st[j+1].b+st[j+1].c)

{ t=st[j];

st[j]=st[j+1];

st[j+1]=t;

}

for(i=0; i<5; i++)

{ printf("%d %10s %4d %4d %4d %7.2f ",st[i].id,st[i].name,st[i].a,st[i].b,

st[i].c,(st[i].a+st[i].b+st[i].c)/3.0);

fprintf(fp2,"%d %10s %4d %4d %4d %7.2f ",st[i].id,st[i].name,st[i].a,st[i].b,

st[i].c,(st[i].a+st[i].b+st[i].c)/3.0);

}

fclose(fp1);

fclose(fp2);

return 0;

}

『伍』 C語言期末考試編程題

1輸入兩個整數a和b,若a和b的平方和大於100,則輸出平方和的百位以上的數字,否則輸出a和 b的和。
要求: 1)輸出結果時說明平方和是大於100還是小於100( >100或<100 )
#include<stdio.h>
int main(){
int a, b, c;
scanf("%d%d", &a, &b);
c = a * a + b * b;
if(c > 100) printf("平方和大於100\n%d\n", c%100);
else printf("平方和小於等於100\n%d\n", a + b);
return 0;
}
2輸入一個整數,判斷是否是5和7的公倍數,若是則輸出:5and7yes,否則再判斷是否是3的倍數,若是3的倍數輸出:3yes,若都不是則輸出:no
#include<stdio.h>
int main(){
int input;
scanf("%d", &input);
if(input % 5 == 0 && input % 7 == 0)printf("5and7yes\n");
else if(input % 3 == 0) printf("3yes\n");
else printf("no\n");
return 0;
}
第三,四題和第二題差不多
5計算公式: [ 2*x x=2
y= [ x*x+1 x<2
[ 2*x*x+3*x+1 x>2
要求: 1)從鍵盤輸入x的值,根據x的值求y的值
2)輸出y的值
#include<stdio.h>
int main(){
int x, y;
scanf("%d", &x);
if(x == 2) y = 2*x;
else if(x < 2) y = x*x+1;
else y = 2 * x * x + 3 * x + 1;
printf("%d\n", y);
return 0;
}
8 和7差不多
下面原理都差不多 用if基本都能搞定 判斷條件就行了 應該LZ能搞定了 東西有點多 -。- 就寫這些吧 其他的就不一一寫了^ ^

『陸』 c語言模擬編程題

你大幾了?大一嗎?

『柒』 C語言編程應用題

#include<stdio.h>
intmain()
{doublex,y;
charc;
printf("請選擇普通顧客/會員顧客(P/H):");
scanf("%c",&c);
printf("請輸入商品總額:");
scanf("%lf",&x);
if(c=='H'||c=='h')
if(x>=1000)y=0.7*x;
elsey=0.8*x;
else
if(x>100)y=0.9*x;
elsey=x;
printf("應收費:%.2lf ",y);
return0;
}

『捌』 復試科目是C語言程序設計,不知道這個筆試怎麼考,有沒有選擇填空題,試題難不難啊,還有面試問什麼啊

同學,你是考研復試吧?呵呵,加油。
既然是C語言程序設計,最好的辦法就是把譚浩強的C語言認真的看一遍,把常用的演算法之類的熟記於心中,筆試肯定有選擇和填空的,筆試不會很難的,相信我啦,都是些常用的小程序。面試問的比較廣了,關鍵是演算法你是否清晰,流程是否能夠敘述清楚,老師看的是思路,所以敘述要清晰呀。
希望我的回答能夠幫助到你,很榮幸為您解答。

『玖』 C語言編程 填空題

(1) 0
(2) (*p)