c言語

ポインタを使って配列の各要素を0に設定

問題:ポインタを使って配列の各要素を0に設定するプログラムをつくれ。 #include <stdio.h> #define ARYLEN(ary) sizeof(ary) / sizeof(ary[0]) int main() { int *p, i, ary[] = {1,2,3,4,5}; p = ary; for(i=0;i</stdio.h>

引数として文字列を一つとり、その文字列中のスペース文字でない最初の文字へポインタを返す関数

問題:引数として文字列を一つとり、その文字列中のスペース文字でない最初の文字へポインタを返す関数をつくれ #include <stdio.h> char *leftTrim(char *str) { while(*str == ' ') str++; return str; } int main() { printf("%s\n", leftTrim(" hello.")); printf</stdio.h>…

windowsでgccコマンドを使えるようにするためMinGWをインストールした

Browse MinGW - Minimalist GNU for Windows Files on SourceForge.net ここからmingw-get-0.1-mingw32-alpha-3-bin.zipをダウンロード。 J:\Program Files\MinGWとかにフォルダを作ってzip解凍したファイルをコピーする。 J:\Program Files\MinGW\binをpath…

文字列を入力して逆順に出力

問題:テキスト1行を入力して、これを逆順に出力するプログラムを作れ。ポインタを使用せず配列を用いた形式で書き、ポインタを用いたものと比較せよ。 配列 #include <stdio.h> #include <string.h> int main() { char str[100]; int n; gets(str); for(n=strlen(str); n>0; n-</string.h></stdio.h>…

数値中のすべてのビットを左端までシフトする

問題:数値中のすべてのビットを左端までシフトする。例01010110は11110000。 #include <stdio.h> int main(){ int i; char c[100], result[100], one[100]="1"; strcpy(result, ""); fgets(c, sizeof(c), stdin); for(i=0; i</stdio.h>

32ビット整数型を8つの4ビット値に分割する

/* 32ビット整数型(long int)をとり、それを8つの4ビット値に分割する。符号ビットに注意。 */ #include <stdio.h> int main(){ char c[100]; int i, n, target, ary[8]; fgets(c, sizeof(c), stdin); sscanf(c, "%d", &target); for(i=0, n=0; n<32; n+=4, i++){ ary</stdio.h>…

10進数の場合は真を返す

引数が10進数の場合は真を返すマクロを作る問題なんだけど、わからないから関数で…。 #include <stdio.h> int is_digit(char str[]) { int i, n; char cpy[] = ""; strcpy(cpy, str); cpy[1] = '\0'; if(strcmp(str, "0") != 0 && strcmp(cpy, "0") == 0) return 0; f</stdio.h>…