(1)長方形の面積を関数を用いて算出するプログラム
#include <stdio.h>
void input(int *pa,int *pb)
{
printf("幅=");scanf("%d",pa);
printf("高さ=");scanf("%d",pb);
}
int area(int a,int b)
{
return a*b;
}
void main()
{
int a,b;
input(&a,&b);
printf("面積= %d",area(a,b));
}
(2)自由落下運動時の速度と距離を算出するプログラム
#include <stdio.h>
void input(float *pg,float *pt)
{
printf("加速度(m/s2)=");scanf("%f",pg);
printf("時間(s)=");scanf("%f",pt);
}
void velocity_distance(float g,float t,float *velocity,float *distance)
{
*velocity = g*t;
*distance = g*t*t/2;
}
void main()
{
float g,t,velocity,distance;
input(&g,&t);
velocity_distance(g,t,&velocity,&distance);
printf("速度(m/s) = %.2f 移動距離(m) = %.2f",velocity,distance);
}
(3)文字数のカウントと文字列の並び替えのプログラム
#include <stdio.h>
int moji_nagasa(char *str)
{
int i=0;
while(*(str+i)!=NULL){
i++;
}
return i;
}
void moji_sort(char *str,int n)
{
int i,j,tmp;
for(i=0;i<n;i++){
for(j=i;j<n;j++){
if(*(str+i)>*(str+j)){
tmp = *(str+i);
*(str+i) = *(str+j);
*(str+j) = tmp;
}
}
}
}
void main()
{
int n;
char str[128];
printf("文字列を入力してください:");scanf("%s",str);
printf("入力された文字列は,%sです.¥n",str);
n = moji_nagasa(str);
printf("文字数は,%dです.¥n",n);
moji_sort(str,n);
printf("並べ替えた文字列は,%sです.",str);
}
(4)ファイルを読み込み,大きい順に並び替えて,ファイルに書き込むプログラム
#include <stdio.h>
void read(int *data)
{
int i;
FILE *fp;
fp=fopen("30data.txt","r");
if(fp==NULL){
printf("ファイルを開くことができません");
return;
}
for(i=0;i<30;i++){
fscanf(fp,"%d",data+i);
}
fclose(fp);
}
void sort(int *data)
{
int i,j,tmp;
for(i=0;i<30;i++){
for(j=i;j<30;j++){
if(*(data+i)<*(data+j)){
tmp = *(data+i);
*(data+i) = *(data+j);
*(data+j) = tmp;
}
}
}
}
void write(int *data)
{
int i;
FILE *fp;
fp=fopen("30data_sorted.txt","w");
if(fp==NULL){
printf("ファイルを開くことができません");
return;
}
for(i=0;i<30;i++){
fprintf(fp,"%d¥n",*(data+i));
}
fclose(fp);
}
void main()
{
int data[30];
read(data);
sort(data);
write(data);
}