當前位置:首頁 » 操作系統 » 逃牌演算法

逃牌演算法

發布時間: 2023-07-20 13:54:28

Ⅰ c言語編程問題.(設計題目)

1.
#include <stdio.h>

int issquare(int n){
int i=0;
while(i*i<=n){
if(i*i==n) return 1;
else i++;
}
if(i*i>n) return 0;
}

int main(){
int a,b,c,d;
for(a=0;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
for(d=0;d<10;d++){
if(a==b&&c==d&&a!=c&&issquare(a*1000+b*100+c*10+d)) printf("%d%d%d%d\n",a,b,c,d);
}
return 0;
}

2.
#include <stdio.h>

void test(int n,int result[]){
int i,j,k,l;
for(i=0;i*i<=n;i++)
if(i*i==n){
result[0]=i;
return;
}
for(i=0;i*i<=n;i++)
for(j=0;j*j<=n;j++)
if(i*i+j*j==n){
result[0]=i;
result[1]=j;
return;
}
for(i=0;i*i<=n;i++)
for(j=0;j*j<=n;j++)
for(k=0;k*k<=n;k++)
if(i*i+j*j+k*k==n){
result[0]=i;
result[1]=j;
result[2]=k;
return;
}
for(i=0;i*i<=n;i++)
for(j=0;j*j<=n;j++)
for(k=0;k*k<=n;k++)
for(l=0;l*l<=n;l++){
if(i*i+j*j+k*k+l*l==n){
result[0]=i;
result[1]=j;
result[2]=k;
result[3]=l;
return;
}
}
}

int main(){
int n;
scanf("%d",&n);
int a[4]={-1,-1,-1,-1};
test(n,a);
int i;
for(i=0;i<4;i++)
if(a[i]!=-1) printf("%5d",a[i]);
printf("\n");
return 0;
}

3.
#include <stdio.h>

int isprime(int n){
int i;
for(i=2;i<n;i++)
if(n%i==0)return 0;
return 1;
}

int main(){
int n;
printf("Enter a positive even number between 0 and 2000: ");
scanf("%d",&n);
if(n<0||n>2000) printf("Illegal number\n");
else{
int i=3;
while(i<n){
if(isprime(i)&&isprime(n-i)) printf("%d=%d+%d\n",n,i,n-1);
else i++;
}
return 0;
}

4.
#include <stdio.h>

int main(){
int a=0,b=0,c=0,count=0;
while(a<=5*20||b<=6*20||c<=7*20){
if(a%5==0||b%6==0||c%7==0) count++;
if(a<=5*20)a++;
if(b<=6*20)b++;
if(c<=7*20)c++;
}
printf("%d\n",count);
return 0;
}

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

struct student{
float score;
struct student *next;
};

int main(){
struct student *s;
s=(struct student *)malloc(sizeof(struct student));;
struct student *t;
t=s;
float i,sum;
int total;
int a=0,b=0,c=0,d=0,e=0;
do{
scanf("%f",&i);
if(i<0) {
s->score=i;
s->next=0;
break;
}
else{
if(i<60) e++;
else if(i>=60&&i<70) d++;
else if(i>=70&&i<80) c++;
else if(i>=80&&i<90) b++;
else if(i>=90) a++;
total++;
sum=sum+i;
s->score=i;
s->next=(struct student *)malloc(sizeof(struct student));
s=s->next;
}
}while(1);
float ave=sum/total;
s=t;
int j=0;
while(s!=0){
if(s->score>ave) j++;
t=s;
s=s->next;
free(t);
}
printf("Number of failed students: %d\n",e);
printf("Number of students above average: %d\n",j);
printf("Percentage below 60: %f\%\n",e/total*100);
printf("Percentage for 60~70: %f\%\n",d/total*100);
printf("Percentage for 70~80: %f\%\n",c/total*100);
printf("Percentage for 80~90: %f\%\n",b/total*100);
printf("Percentage for above 90: %f\%\n",a/total*100);
return 0;
}

最後一個太無聊了,你自己查查對應的公式寫就可以了。
}

熱點內容
妖妖靈腳本 發布:2025-03-15 20:36:56 瀏覽:254
公司自己搭建ftp 發布:2025-03-15 20:36:07 瀏覽:61
如何增加配置使半袖變得不單調 發布:2025-03-15 20:33:37 瀏覽:348
linux顯示目錄 發布:2025-03-15 20:30:42 瀏覽:660
素數演算法表示 發布:2025-03-15 20:24:02 瀏覽:842
大話西遊手游怎麼看伺服器等級 發布:2025-03-15 20:21:53 瀏覽:221
rsa加密c源代碼 發布:2025-03-15 19:53:55 瀏覽:693
linux解壓bin 發布:2025-03-15 19:40:25 瀏覽:384
存儲數據為什麼只能使用兩種狀態 發布:2025-03-15 19:40:21 瀏覽:264
平方的運演算法則 發布:2025-03-15 19:38:57 瀏覽:971