Edited at

C言語の典型問題


C言語の競プロ典型問題3選


素数

/#include

/#include

/#include

//素数nまでを求め、それらの合計と掛け算を求めるプログラム

int main(void){

int x[50];

printf("input number:");

scanf("%d",&x[0]);

int yakusu,sum,mul=1;

    for(int i=0;i<x[0];i++){

yakusu=0;
for(int j=1;j<=i;j++){
if(i%j==0) yakusu++;
}
if(yakusu==2){
printf("%d",i);
sum+=i;
mul*=i;
}

}
printf("\n");
printf("sum:%d\n",sum);
printf("mul:%d\n",mul);
return 0;


三角形

/#include

/#include

int main(void){

int x[6];

float a, b, c;

for(int i=0;i<6;++i) scanf("%d", &x[i]);

a = (x[0]+x[2]+x[4])/3.;

b = (x[1]+x[3]+x[5])/3.;

x[2]-=x[0];
x[3]-=x[1];
x[4]-=x[0];
x[5]-=x[1];

c = abs(x[2]*x[5]-x[3]*x[4]) / 2.;
printf("%f, %f\n", a, b);
printf("%f\n", c);

}


文字並び替え

'''c:str.c

#include

#include

int main(void)

{

char str[256];

printf("input:");

fgets(str, 256, stdin);

int alphabet[26]={0};

int len = strlen(str);

char abc[26];

int words=0;

for(char i = 0;i<26;++i) abc[i]='a'+i;

    for(int i=0;i<len;++i){

if(str[i]=='.'||str[i]==',') continue;
if(str[i]==' '){
++words;
continue;
}
int x = tolower(str[i])-'a';
alphabet[x]++;
}

for (int i = 0; i < 25; i++) {
for (int j = 25; j > i; j--) {
if (alphabet[j-1] < alphabet[j]) {
int temp = alphabet[j-1];
alphabet[j-1] = alphabet[j];
alphabet[j] = temp;
int temp_ = abc[j-1];
abc[j-1]=abc[j];
abc[j]=temp_;
}
}
}

for (int i=0;i<26;++i){
if(alphabet[i]==0){
break;
}
printf("%c:%d\n", abc[i], alphabet[i]);
}
printf("Word count:%d" ,words+1);
return 0;

}

'''