c言語のいくつかの基礎練習問題
7523 ワード
#include
void print(int row){
int i = 0;
int j = 0;
for(i = 1;i <= row;i++){
for(j = 1;j <=i;j++){
printf("%d*%d=%d\t",i,j,i*j);
}
printf("
");
}
}
int main(){
int n = 0;
scanf("%d",&n);
print(n);
}
2 . 関数を使用して2つの数の交換を実現します.
#include
void swap(int *a,int *b){
int tmp = 0;
tmp = *a;
*a = *b;
*b = tmp;
}
int main(){
int a = 10;
int b = 20;
swap(&a,&b);
printf("%d %d",a,b);
}
3 . 関数を実現してyearが潤年かどうかを判断します.
#include
void is_leap_year(n){
if((n%4==0&&n%100!=0)||n%400==0){
printf(" !");
}
else{
printf(" ");
}
}
int main(){
int n = 0;
scanf("%d",&n);
is_leap_year(n);
}
4 . 関数init()初期化配列、empty()クリア配列、reverse()関数完了配列要素の逆設定を実現する配列を作成します.要求:関数のパラメータを自分で設計し、値を返します.
#include
void init(int a[],int lenth){
int i = 0;
for(i = 0;i < lenth;i++){
a[i] = i ;
}
}
void print(int a[],int lenth){
int i = 0;
for(i = 0;i < lenth;i++){
printf("%d ",a[i]);
}
printf("
");
}
void empty(int a[],int lenth){
int i = 0;
for(i = 0;i < lenth;i++){
a[i] = 0 ;
}
}
void reverse(int a[],int length){
int i = 0;
int tmp = 0;
for(i = 0;i < length/2;i++){
tmp = a[i];
a[i] = a[length-i-1];
a[length-i-1] = tmp;
}
}
int main(){
int a[10]={0};
int size = sizeof(a)/sizeof(a[0]);
init(a,size);
print(a,size);
reverse(a,size);
print(a,size);
empty(a,size);
print(a,size);
}
5.1つの関数を実現し、1つの数が素数であるかどうかを判断する.
#include
typedef enum __bool {
false = 0,
true = 1
}bool;
void is_prime(int n){
bool prime[1000]={false};
int i = 0;
int j = 0;
prime[1] = true;
prime[2] = false;
for(i = 2;i<=n;i++){
if(!prime[i]){
for(j = i*i;j<=n;j+=i){
prime[j] = true;
}
}
}
if(!prime[n]){
printf(" ");
}
else{
printf(" ");
}
}
int main(){
int n = 0;
scanf("%d",&n);
is_prime(n);
}