数学
C言語,

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;

}
'''