用c语言写dight函数
时间: 2023-04-09 17:02:32 浏览: 78
可以回答这个问题。dight函数是不存在的,可能是您想说的是digit函数,它可以用来计算一个整数的位数。以下是一个用C语言编写的digit函数的示例代码:
int digit(int n) {
int count = 0;
while (n != 0) {
n /= 10;
++count;
}
return count;
}
相关问题
在程序空缺处填空水仙花数是指一个n位正整数(n≥3),它的每位数字的n次幂之和等于它本身。三位水仙花数满足各位数字的立方和等于自身的正整数,例如:153=1 3 +5 3 +3 3 。 for(num = 100; num <= 999; num++){ ; s = ; do{ digit = t_num % 10; s= ; t_num = dight/10; }while ( ) if () { printf("%d\n", num); } }
在程序空缺处填空:
```
for(num = 100; num <= 999; num++){
int t_num = num;
int s = 0;
do{
int digit = t_num % 10;
s += digit * digit * digit;
t_num /= 10;
}while (t_num != 0);
if (s == num) {
printf("%d\n", num);
}
}
```
package application; import javafx.application.Application; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.BorderPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class ACSDHomework3III extends Application { TextField tfA = new TextField(); TextField tfB = new TextField(); TextField tfC = new TextField(); TextField tfD = new TextField(); Button btisDight = new Button(" is Dight "); Button btisNum = new Button(" is Num "); Button bttoUp = new Button(" to Up "); Button bttoLow = new Button(" to Low "); Button btisUp = new Button(" is Up "); @Override public void start(Stage primaryStage) { GridPane gridPane = new GridPane(); gridPane.setHgap(5); gridPane.setVgap(5); gridPane.add(new Label("Class ID:"), 0, 0); gridPane.add(tfA, 1, 0); gridPane.add(new Label("Name:"), 0, 1); gridPane.add(tfB, 1, 1); gridPane.add(new Label("A Character"), 1, 2); gridPane.add(new Label("Result"), 5, 3); gridPane.add(tfC, 1, 4); gridPane.add(tfD, 5, 4); gridPane.setAlignment(Pos.CENTER); tfD.setAlignment(Pos.BOTTOM_RIGHT); HBox hBox = new HBox(btisDight,btisNum,bttoUp,bttoLow,btisUp); hBox.getChildren().addAll(); hBox.setAlignment(Pos.CENTER); BorderPane borderPane = new BorderPane(); borderPane.setCenter(gridPane); borderPane.setBottom(hBox); btisDight.setOnAction(e -> isDight()); btisNum.setOnAction(e -> isNum()); bttoUp.setOnAction(e -> toUp()); bttoLow.setOnAction(e -> toLow()); btisUp.setOnAction(e -> isUp()); Scene scene = new Scene(borderPane, 500, 200); primaryStage.setTitle("William 201045"); primaryStage.setScene(scene); primaryStage.show(); } String C; private void isDight() { tfD = Charater.isDight(tfC.setText); } private void isNum() { tfC.setText((String.format("%.2f",Charater.isNum(C)))); } private void toUp() { tfC.setText((String.format("%.2f",Charater.toUpCase(C)))); } private void toLow() { tfC.setText((String.format("%.2f",Charater.toLowCase(C)))); } private void isUp() { tfC.setText((String.format("%.2f",Charater.isUpCase(C)))); } public static void main(String[] args) { launch(args); } }怎么修改错误的地方
这段代码中有几个错误需要修改:
1. 在 `isDight()` 方法中,应该使用 `tfC.setText()` 而不是 `tfD = Charater.isDight(tfC.setText)`。
2. 在 `isNum()`、`toUp()`、`toLow()`、`isUp()` 方法中,应该使用 `tfC.getText()` 获取文本框中的内容,而不是使用未定义的变量 `C`。
3. 在 `hBox.getChildren().addAll();` 中不应该传入任何参数。
下面是修改后的代码:
```
package application;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class ACSDHomework3III extends Application {
TextField tfA = new TextField();
TextField tfB = new TextField();
TextField tfC = new TextField();
TextField tfD = new TextField();
Button btisDight = new Button(" is Dight ");
Button btisNum = new Button(" is Num ");
Button bttoUp = new Button(" to Up ");
Button bttoLow = new Button(" to Low ");
Button btisUp = new Button(" is Up ");
@Override
public void start(Stage primaryStage) {
GridPane gridPane = new GridPane();
gridPane.setHgap(5);
gridPane.setVgap(5);
gridPane.add(new Label("Class ID:"), 0, 0);
gridPane.add(tfA, 1, 0);
gridPane.add(new Label("Name:"), 0, 1);
gridPane.add(tfB, 1, 1);
gridPane.add(new Label("A Character"), 1, 2);
gridPane.add(new Label("Result"), 5, 3);
gridPane.add(tfC, 1, 4);
gridPane.add(tfD, 5, 4);
gridPane.setAlignment(Pos.CENTER);
tfD.setAlignment(Pos.BOTTOM_RIGHT);
HBox hBox = new HBox(btisDight, btisNum, bttoUp, bttoLow, btisUp);
hBox.setAlignment(Pos.CENTER);
BorderPane borderPane = new BorderPane();
borderPane.setCenter(gridPane);
borderPane.setBottom(hBox);
btisDight.setOnAction(e -> isDight());
btisNum.setOnAction(e -> isNum());
bttoUp.setOnAction(e -> toUp());
bttoLow.setOnAction(e -> toLow());
btisUp.setOnAction(e -> isUp());
Scene scene = new Scene(borderPane, 500, 200);
primaryStage.setTitle("William 201045");
primaryStage.setScene(scene);
primaryStage.show();
}
private void isDight() {
tfD.setText(String.valueOf(Character.isDigit(tfC.getText().charAt(0))));
}
private void isNum() {
tfC.setText(String.valueOf(Character.isDigit(tfC.getText().charAt(0))));
}
private void toUp() {
tfC.setText(String.valueOf(Character.toUpperCase(tfC.getText().charAt(0))));
}
private void toLow() {
tfC.setText(String.valueOf(Character.toLowerCase(tfC.getText().charAt(0))));
}
private void isUp() {
tfC.setText(String.valueOf(Character.isUpperCase(tfC.getText().charAt(0))));
}
public static void main(String[] args) {
launch(args);
}
}
```