Hello World と表示される
#include <stdio.h>
#define N 5
main(){
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N-i;j++){
printf("○");
}
printf("\n");
}
}
#include <stdio.h>
#define N 4
main(){
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N-i-1;j++){
printf(" ");
}
for(j=0;j<2*i+1;j++){
printf("○");
}
printf("\n");
}
}
#include <stdio.h>
#define N 3
main(){
int i,j;
for(j=0;j<N+2;j++){
printf("○");
}
printf("\n");
for(i=0;i<N;i++){
printf("○");
for(j=0;j<N;j++){
printf(" ");
}
printf("○\n");
}
for(j=0;j<N+2;j++){
printf("○");
}
}
#include <stdio.h>
main(){
int a[]={5, 2, 6, 3, 1, -1};
int i,k;
k=0;
for(i=0;a[i]!=-1;i++){
k++;
}
printf("%d\n",k);
}
#include <stdio.h>
main(){
int a[]={5, 2, 6, 3, 1, -1};
int i,goukei;
goukei=0;
for(i=0;a[i]!=-1;i++){
goukei+=a[i];
}
printf("%d\n",goukei);
}
#include <stdio.h>
main(){
int a[]={5, 2, 6, 3, 1, -1};
int i,k,goukei;
k=0;
goukei=0;
for(i=0;a[i]!=-1;i++){
k++;
goukei+=a[i];
}
printf("%f\n",(float)goukei/k);
}
#include <stdio.h>
main(){
char x[]="abc";
int i,k;
k=0;
for(i=0;x[i]!='\0';i++){
k++;
}
printf("%d\n",k);
}
#include <stdio.h>
main(){
char x[]="This is a pin.";
int i,k;
k=0;
for(i=0;x[i]!='\0';i++){
if(a[i]=='i'){
k++;
}
}
printf("%d\n",k);
}
#include <stdio.h>
main(){
char x[]="This is a pin.";
int i;
char c;
for(i=0;x[i]!='\0';i++){
c=x[i];
if((c>='a')&&(c<='z')){
c=c-'a'+'A';
}
printf("%c",c);
}
}
#include <stdio.h>
main(){
char x[]="abc";
char y[]="def";
char z[50];
int i,j;
for(i=0;x[i]!='\0';i++){
z[i]=x[i];
}
for(j=0;y[j]!='\0';j++){
z[i]=y[j];
i++;
}
z[i]='\0';
printf("文字列 %s と %s をつなげると %s になる\n",x,y,z);
}
#include <stdio.h> #define N 3 main(){ FILE* fh; int i,j; if((fh=fopen("zukai.txt","w"))==NULL){ fprintf(stderr,"ファイルを開けませんでした\n"); exit(1); } for(i=0;i<N;i++){ for(j=0;j<N-i-1;j++){ fprintf(fh," "); } fprintf(fh,"○"); if(i>0){ for(j=0;j<2*i-1;j++){ fprintf(fh," "); } fprintf(fh,"○"); } fprintf(fh,"\n"); } for(i=N-2;i>=0;i--){ for(j=0;j<N-i-1;j++){ fprintf(fh," "); } fprintf(fh,"○"); if(i>0){ for(j=0;j<2*i-1;j++){ fprintf(fh," "); } fprintf(fh,"○"); } fprintf(fh,"\n"); } fclose(fh); }
#include <stdio.h> main(){ FILE *fh; char filename[]="4-3.c"; char c; int n=0; if((fh=fopen(filename,"r"))!=NULL){ while((c=getc(fh))!=EOF){ n++; } printf("合計 %d 文字\n",n); fclose(fh); }else{ fprintf(stderr,"ファイル %s を開けませんでした\n",filename); } }
#include <stdio.h> main(){ FILE *fh; char filename[]="4-4.c"; char c; char x='a'; int n=0; if((fh=fopen(filename,"r"))!=NULL){ while((c=getc(fh))!=EOF){ if(c==x){ n++; } } printf("%c は合計 %d 文字\n",x,n); fclose(fh); }else{ fprintf(stderr,"ファイル %s を開けませんでした\n",filename); } }
#include <stdio.h> main(){ FILE *fh; char filename[]="4-5.c"; char c; int n=0; if((fh=fopen(filename,"r"))!=NULL){ while((c=getc(fh))!=EOF){ if(c=='\n'){ n++; } } printf("合計 %d 行\n",n); fclose(fh); }else{ fprintf(stderr,"ファイル %s を開けませんでした\n",filename); } }
#include <stdio.h> main(){ FILE *fh; char filename[]="4-6.c"; char c; int n=0; if((fh=fopen(filename,"r"))!=NULL){ while((c=getc(fh))!=EOF){ n++; if(c=='\n'){ printf("%d 文字\n",n); n=0; } } if(n!=0){ printf("%d 文字\n",n); } fclose(fh); }else{ fprintf(stderr,"ファイル %s を開けませんでした\n",filename); } }
#include <stdio.h> main(){ char c; int n=0; while((c=getchar())!=EOF){ if(c=='\n'){ printf("\n"); n=0; }else{ if(n>=10){ printf("\n"); n=0; } printf("%c",c); n++; } } }
#include <stdio.h>
main(){
char x[]="abcdef";
char y[50];
char *p,*q;
p=x;
q=y;
while((*q++=*p++)!='\0');
printf("%s をコピーした結果 %s となる\n",x,y);
}
#include <stdio.h>
void copy(char *a, char *b){
while((*b++=*a++)!='\0');
}
main(){
char x[]="abcdef";
char y[50];
copy(x,y);
printf("%s をコピーした結果 %s となる\n",x,y);
}
#include <stdio.h>
#include <math.h>
typedef struct point {
double x;
double y;
} POINT;
double distance(POINT p){
return sqrt(p.x*p.x+p.y*p.y);
}
main(){
POINT p={3.0,4.0};
printf("点 %f, %f と原点の距離は %f です。\n",p.x,p.y,distance(p));
}
#include <stdio.h>
typedef struct point {
double x;
double y;
} POINT;
void half(POINT *p){
p->x/=2;
p->y/=2;
}
main(){
POINT p={6.0,8.0};
printf("最初の点は %f, %f です。\n",p.x,p.y);
half(&p);
printf("半分の位置は %f, %f です。\n",p.x,p.y);
}
5!=120, 6!=720
#include <stdio.h>
int fibo(int n){
if(n==0){ return 1; }
if(n==1){ return 1; }
return fibo(n-1)+fibo(n-2);
}
main(){
printf("%d\n",fibo(20));
}
10946
#include <stdio.h>
#define N 100
int a[N];
int fibo(int n){
if(a[n]>0){ return a[n];}
if(n==0){ return 1; }
if(n==1){ return 1; }
a[n]=fibo(n-1)+fibo(n-2);
return a[n];
}
main(){
int i;
for(i=0;i<N;i++){a[i]=0;}
printf("%d\n",fibo(45));
}
a40=165580141
但し、演習室の環境だと簡単に求まってしまったため、 a45の値 1836311903 も求めた。
#include <stdio.h>
int combi(int n, int m){
if(m==0){ return 1; }
if(m==n){ return 1; }
return combi(n-1,m-1)+combi(n-1,m);
}
main(){
printf("%d, %d\n",combi(5,2),combi(20,2));
}
10, 190 が表示される
move 1 from a to b move 2 from a to c move 1 from b to c move 3 from a to b move 1 from c to a move 2 from c to b move 1 from a to b
move 1 from a to c move 2 from a to b move 1 from c to b move 3 from a to c move 1 from b to a move 2 from b to c move 1 from a to c move 4 from a to b move 1 from c to b move 2 from c to a move 1 from b to a move 3 from c to b move 1 from a to c move 2 from a to b move 1 from c to b
図は省略。 14種類。
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
0 | 0 | 1 | 0 |
#include
#define MAX 10
main(){
int i,j,degree,kiten;
int a[MAX][MAX];
printf("頂点数を入れて下さい。\n");
scanf("%d",&n);
kiten=0;
for(i=0;i<n;i++){
degree=0;
for(j=0;j<n;j++){
scanf("%d",&a[i][j];);
degree+=a[i][j];
}
kiten+=degree%2
}
if((kiten==0)||(kiten==2)){
printf("一筆書きできます。\n");
}else{
printf("一筆書きできません。\n");
}
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 80
char buffer[SIZE+1];
typedef struct lst {
char *item;
struct lst *next;
} LIST;
LIST* newnode(){
LIST *p;
p=(LIST *)malloc(sizeof(LIST));
p->next=NULL;
return p;
}
void add(LIST *p,char *c){
if(p->next == NULL){
p->item=c;
p->next=newnode();
}else{
add(p->next,c);
}
}
void reverseshow(LIST *p){
if(p->next != NULL){
reverseshow(p->next);
printf("%s\n",p->item);
}
}
main(){
char c;
int i=0;
char filename[]="input.txt";
FILE *fh;
LIST *l;
l=newnode();
if((fh=fopen(filename,"r"))!=NULL){
while((c=getc(fh))!=EOF){
if(c!='\n'){
if(i<SIZE){
buffer[i++]=c;
}
}else{
buffer[i]='\0';
add(l,strdup(buffer));
i=0;
}
}
reverseshow(l);
fclose(fh);
}else{
fprintf(stderr,"ファイル %s がありません。\n",filename);
}
}
作成中
次のように出力される
def ghi abc
例 2 と重複
作成中