#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int i, j, r;
for ( i = 0; i < 10; i++ ) {
r = rand( ) % 80;
for ( j = 0; j < r; j++ ) {
putchar( '*' );
}
putchar( '\n' );
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main( void )
{
char str[128];
int i, dot=0, err;
double d;
long l;
printf( "数値を入力しなさい" );
scanf( "%s", str );
/* 先頭文字の判定 */
if ( str[0] == '+' || str[0] == '-' || isdigit( str[0] ) != 0 ) {
err = 0;
}
else if ( str[0] == '.' ) {
err = 0;
dot++;
}
else {
err = 1;
}
/* 2文字目以降の判定 */
i = 1;
while ( err == 0 && str[i] != '\0' ) {
if ( str[i] == '.' ) {
dot++;
}
else if ( isdigit( str[i] ) == 0 ) {
err++;
}
i++;
}
/* 上記判定でエラーでない場合 */
if ( err == 0 ) {
if ( dot == 0 ) { /* 整数 */
l = atol( str );
printf( "整数値入力 = %ld\n", l );
}
else if ( dot == 1 ) { /* 浮動小数点数 */
d = atof( str );
printf( "浮動小数点数入力 = %f\n", d );
}
else { /* 小数点が複数ある場合 */
printf( "入力エラー\n" );
}
}
else {
printf( "入力エラー\n" );
}
return 0;
}
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved